@slates/provider-handler 1.0.0-rc.2 → 1.0.0-rc.3
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/dist/index.cjs +1 -1
- package/dist/index.cjs.map +1 -1
- package/dist/index.module.js +1 -1
- package/dist/index.module.js.map +1 -1
- package/dist/index.umd.js +1 -1
- package/dist/index.umd.js.map +1 -1
- package/dist/spec.d.ts.map +1 -1
- package/dist/validation.d.ts +1 -0
- package/dist/validation.d.ts.map +1 -1
- package/package.json +2 -2
- package/src/index.ts +2 -2
- package/src/spec.ts +5 -4
- package/src/validation.ts +16 -0
package/dist/index.cjs
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
var e=require("@lowerdeck/error"),t=require("@slates/proto"),r=require("@slates/provider");function n(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var o=/*#__PURE__*/n(require("zod"));function i(e,t){if(!{}.hasOwnProperty.call(e,t))throw new TypeError("attempted to use private field on non-instance");return e}var a=0;function u(e){return"__private_"+a+++"_"+e}function s(){return s=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)({}).hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e},s.apply(null,arguments)}function c(e){var t=function(e){if("object"!=typeof e||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var r=t.call(e,"string");if("object"!=typeof r)return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==typeof t?t:t+""}var l=function(t,r){var n=t.spec.auth.authStack.find(function(e){return e.key==r});if(!n)throw new e.ServiceError(e.badRequestError({message:"Invalid authentication method ID: "+r}));return n},h=function(e,t){var r;return{id:t.key,name:t.name,type:t.type,scopes:"scopes"in t?t.scopes.map(function(e){return{id:e.scope,title:e.title,description:e.description}}):void 0,inputSchema:(null!=(r=t.inputSchema)?r:o.default.object({})).toJSONSchema(),outputSchema:e.spec.auth.outputSchema.toJSONSchema(),capabilities:{getDefaultInput:{enabled:!(!("getDefaultInput"in t)||!t.getDefaultInput)},handleTokenRefresh:{enabled:!(!("handleTokenRefresh"in t)||!t.handleTokenRefresh)},handleChangedInput:{enabled:!!t.onInputChanged},getProfile:{enabled:!!t.getProfile}}}},p=function(t,r){var n=t.actions.find(function(e){return e.key==r});if(!n)throw new e.ServiceError(e.notFoundError("action",r));return n},d=function(t,r,n){var o=p(t,n);if(o.type!=r)throw new e.ServiceError(e.badRequestError({message:"Action with ID "+n+" is not of type "+r}));return o},f=function(e,t){var n;return s({},{id:t.key,name:t.name,description:t.description,instructions:t.instructions,constraints:t.constraints,tags:t.tags,metadata:t.metadata,inputSchema:t.inputSchema.toJSONSchema(),outputSchema:t.outputSchema.toJSONSchema()},"tool"==t.type?{type:"action.tool",capabilities:{}}:{type:"action.trigger",capabilities:{},invocation:"polling"==t.source?{type:"polling",intervalSeconds:null!=(n=t.polling.intervalInSeconds)?n:r.SlateDefaultPollingIntervalSeconds}:{type:"webhook",autoRegistration:!!t.autoRegisterWebhook,autoUnregistration:!!t.autoUnregisterWebhook}})},v=/*#__PURE__*/u("value"),m=/*#__PURE__*/function(){function e(e){Object.defineProperty(this,v,{writable:!0,value:void 0}),i(this,v)[v]=e}var t,r,n=e.prototype;return n.get=function(){return i(this,v)[v]},n.set=function(e){i(this,v)[v]=e},t=e,(r=[{key:"value",get:function(){return i(this,v)[v]}}])&&function(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,c(n.key),n)}}(t.prototype,r),Object.defineProperty(t,"prototype",{writable:!1}),t}(),g=function(t,r,n,o){var i=t.safeParse(r);if(!i.success)throw new e.ServiceError(function(t,r,n){return e.validationError({message:r,entity:t,errors:n.issues.map(function(e){return s({},e,{path:e.path.map(function(e){return String(e)})})})})}(n,o,i.error));return i.data};exports.createProviderHandler=function(n,o){return t.createSlatesProviderProtoHandler(function(t){try{var i=new m(null),a=new m(null),u=new m(null),c=new m(null),v=new m(null),P=new r.SlateLogger(o),w=function(){var t=i.get(),r=a.get();if(!t||!r)throw new e.ServiceError(e.preconditionFailedError({message:"Connection context has not been initialized"}));return{protocol:t,participants:r}},S=function(){var t=w(),r=c.get(),o=v.get(),i=u.get();if(!r||!o||!i&&n.spec.auth.authStack.length>0)throw new e.ServiceError(e.preconditionFailedError({message:"Session context has not been initialized"}));return s({},t,{config:r.value,session:o,auth:i})};return t.onNotification("slates/hello",function(e){var t=e.params;try{return i.set(t.protocol),Promise.resolve()}catch(e){return Promise.reject(e)}}),t.onNotification("slates/participant.set",function(t){var r=t.params;try{if(!i.get())throw new e.ServiceError(e.preconditionFailedError({message:"Connection protocol has not been initialized"}));return a.set(r.participants),Promise.resolve()}catch(e){return Promise.reject(e)}}),t.onNotification("slates/auth.set",function(e){var t=e.params;try{w(),l(n,t.authenticationMethodId);var r=g(n.spec.authSchema,t.output,"auth","Invalid authentication output for method ID: "+t.authenticationMethodId);return u.set({authenticationMethodId:t.authenticationMethodId,output:r}),Promise.resolve()}catch(e){return Promise.reject(e)}}),t.onNotification("slates/config.set",function(e){var t=e.params;try{w();var r=g(n.spec.configSchema,t.config,"config","Invalid configuration");return c.set({value:r}),Promise.resolve()}catch(e){return Promise.reject(e)}}),t.onNotification("slates/session.start",function(e){var t=e.params;try{return w(),v.set({id:t.sessionId,state:t.state}),Promise.resolve()}catch(e){return Promise.reject(e)}}),t.onRequest("slates/config.changed",function(e){var t=e.params;try{w();var r=g(n.spec.config.configSchema,t.newConfig,"config","Invalid configuration"),o=n.spec.config.handlers.configChanged;return o?Promise.resolve(o({previousConfig:t.previousConfig,newConfig:r})).then(function(e){var t;return{success:!0,config:null!=(t=null==e?void 0:e.config)?t:r}}):Promise.resolve({success:!0,config:r})}catch(e){return Promise.reject(e)}}),t.onRequest("slates/config.get_default",function(e){try{w();var t=n.spec.config.handlers.getDefaultConfig;return t?Promise.resolve(t()).then(function(e){return{config:e}}):Promise.resolve({config:null})}catch(e){return Promise.reject(e)}}),t.onRequest("slates/config.schema.get",function(e){try{return w(),Promise.resolve({schema:n.spec.configSchema.toJSONSchema()})}catch(e){return Promise.reject(e)}}),t.onRequest("slates/provider.identify",function(e){try{return w(),Promise.resolve({protocol:"slates@2026-01-01",provider:{type:"provider",id:n.spec.key,name:n.spec.name,description:n.spec.description,metadata:n.spec.parameters.metadata}})}catch(e){return Promise.reject(e)}}),t.onRequest("slates/auth.methods.list",function(e){try{return w(),Promise.resolve({authenticationMethods:n.spec.auth.authStack.map(function(e){return h(n,e)})})}catch(e){return Promise.reject(e)}}),t.onRequest("slates/auth.method.get",function(e){var t=e.params;try{w();var r=l(n,t.authenticationMethodId);return Promise.resolve({authenticationMethod:h(n,r)})}catch(e){return Promise.reject(e)}}),t.onRequest("slates/auth.input.get_default",function(e){var t=e.params;try{w();var r=l(n,t.authenticationMethodId);return r.getDefaultInput?Promise.resolve(r.getDefaultInput()).then(function(e){return{input:e}}):Promise.resolve({input:null})}catch(e){return Promise.reject(e)}}),t.onRequest("slates/auth.input.changed",function(e){var t=e.params;try{w();var r=l(n,t.authenticationMethodId);return r.onInputChanged?Promise.resolve(r.onInputChanged({previousInput:t.previousInput,newInput:t.newInput})).then(function(e){var r;return{success:!0,input:null!=(r=null==e?void 0:e.input)?r:t.newInput}}):Promise.resolve({success:!0,input:t.newInput})}catch(e){return Promise.reject(e)}}),t.onRequest("slates/auth.output.get",function(e){var t=e.params;try{var r,o=function(e){return r?e:{output:a}};w();var i=l(n,t.authenticationMethodId),a=t.input;i.inputSchema&&(a=g(i.inputSchema,a,"auth","Invalid authentication input for method ID: "+t.authenticationMethodId));var u=function(){if("getOutput"in i)return Promise.resolve(i.getOutput({input:a})).then(function(e){return r=1,{output:e.output}})}();return Promise.resolve(u&&u.then?u.then(o):o(u))}catch(e){return Promise.reject(e)}}),t.onRequest("slates/auth.authorization_callback.handle",function(t){var r=t.params;try{var o,i=function(t){if(o)return t;throw new e.ServiceError(e.preconditionFailedError({message:"Authentication method does not support authorization callback handling: "+r.authenticationMethodId}))};w();var a=l(n,r.authenticationMethodId),u=function(){if("handleCallback"in a)return Promise.resolve(a.handleCallback({code:r.code,state:r.state,redirectUri:r.redirectUri,input:r.input,clientId:r.clientId,clientSecret:r.clientSecret,scopes:r.scopes})).then(function(e){return o=1,{output:e.output,input:e.input}})}();return Promise.resolve(u&&u.then?u.then(i):i(u))}catch(e){return Promise.reject(e)}}),t.onRequest("slates/auth.authorization_url.get",function(t){var r=t.params;try{var o,i=function(t){if(o)return t;throw new e.ServiceError(e.preconditionFailedError({message:"Authentication method does not support authorization URL retrieval: "+r.authenticationMethodId}))};w();var a=l(n,r.authenticationMethodId),u=function(){if("getAuthorizationUrl"in a)return Promise.resolve(a.getAuthorizationUrl({redirectUri:r.redirectUri,state:r.state,input:r.input,clientId:r.clientId,clientSecret:r.clientSecret,scopes:r.scopes})).then(function(e){return o=1,{authorizationUrl:e.url,input:e.input}})}();return Promise.resolve(u&&u.then?u.then(i):i(u))}catch(e){return Promise.reject(e)}}),t.onRequest("slates/auth.profile.get",function(t){var r=t.params;try{var o,i=function(t){if(o)return t;throw new e.ServiceError(e.preconditionFailedError({message:"Authentication method does not support profile retrieval: "+r.authenticationMethodId}))};w();var a=l(n,r.authenticationMethodId),u=function(){if(a.getProfile)return Promise.resolve(a.getProfile({output:r.output,input:r.input,scopes:r.scopes})).then(function(e){return o=1,{profile:e.profile}})}();return Promise.resolve(u&&u.then?u.then(i):i(u))}catch(e){return Promise.reject(e)}}),t.onRequest("slates/auth.token_refresh.handle",function(t){var r=t.params;try{var o,i=function(t){if(o)return t;throw new e.ServiceError(e.preconditionFailedError({message:"Authentication method does not support token refresh handling: "+r.authenticationMethodId}))};w();var a=l(n,r.authenticationMethodId),u=function(){if("handleTokenRefresh"in a&&a.handleTokenRefresh)return Promise.resolve(a.handleTokenRefresh({output:r.output,input:r.input,clientId:r.clientId,clientSecret:r.clientSecret,scopes:r.scopes})).then(function(e){return o=1,{output:e.output,input:e.input}})}();return Promise.resolve(u&&u.then?u.then(i):i(u))}catch(e){return Promise.reject(e)}}),t.onRequest("slates/actions.list",function(e){try{return w(),Promise.resolve({actions:n.actions.map(function(e){return f(0,e)})})}catch(e){return Promise.reject(e)}}),t.onRequest("slates/action.get",function(e){var t=e.params;try{w();var r=p(n,t.actionId);return Promise.resolve({action:f(0,r)})}catch(e){return Promise.reject(e)}}),t.onRequest("slates/action.tool.invoke",function(e){var t=e.params;try{var o,i=S(),a=d(n,"tool",t.actionId),u=g(a.inputSchema,t.input,"input","Invalid input for tool ID: "+t.actionId);return Promise.resolve(a.handleInvocation(new r.SlateContext(i.config,u,null==(o=i.auth)?void 0:o.output,n.spec,P))).then(function(e){return{output:e.output,message:e.message}})}catch(e){return Promise.reject(e)}}),t.onRequest("slates/action.trigger.map_event",function(e){var t=e.params;try{var o,i=S(),a=d(n,"trigger",t.actionId),u=g(a.inputSchema,t.input,"input","Invalid event for trigger ID: "+t.actionId);return Promise.resolve(a.handleEvent(new r.SlateContext(i.config,u,null==(o=i.auth)?void 0:o.output,n.spec,P))).then(function(e){return{id:e.id,type:e.type,output:e.output}})}catch(e){return Promise.reject(e)}}),t.onRequest("slates/action.trigger.poll_events",function(t){var o=t.params;try{var i,a=S(),u=d(n,"trigger",o.actionId);if(!u.pollEvents)throw new e.ServiceError(e.badRequestError({message:"Trigger action does not support polling: "+o.actionId}));return Promise.resolve(u.pollEvents(new r.SlateContext(a.config,{state:o.state},null==(i=a.auth)?void 0:i.output,n.spec,P))).then(function(e){return{inputs:e.inputs,updatedState:e.updatedState}})}catch(e){return Promise.reject(e)}}),t.onRequest("slates/action.trigger.webhook_handle",function(t){var o=t.params;try{var i,a=S(),u=d(n,"trigger",o.actionId);if(!u.handleRequest)throw new e.ServiceError(e.badRequestError({message:"Trigger action does not support webhook requests: "+o.actionId}));var s=new Request(o.url,{method:o.method,headers:o.headers,body:o.body?Uint8Array.from(atob(o.body.content),function(e){return e.charCodeAt(0)}):null});return Promise.resolve(u.handleRequest(new r.SlateContext(a.config,{request:s,state:o.state},null==(i=a.auth)?void 0:i.output,n.spec,P))).then(function(e){return{inputs:e.inputs,updatedState:e.updatedState}})}catch(e){return Promise.reject(e)}}),t.onRequest("slates/action.trigger.webhook_register",function(t){var o=t.params;try{var i,a=S(),u=d(n,"trigger",o.actionId);if(!u.autoRegisterWebhook)throw new e.ServiceError(e.badRequestError({message:"Trigger action does not support webhook auto-registration: "+o.actionId}));return Promise.resolve(u.autoRegisterWebhook(new r.SlateContext(a.config,{webhookBaseUrl:o.webhookBaseUrl},null==(i=a.auth)?void 0:i.output,n.spec,P))).then(function(e){return{registrationDetails:e.registrationDetails,state:e.state}})}catch(e){return Promise.reject(e)}}),t.onRequest("slates/action.trigger.webhook_unregister",function(t){var o=t.params;try{var i,a=S(),u=d(n,"trigger",o.actionId);if(!u.autoUnregisterWebhook)throw new e.ServiceError(e.badRequestError({message:"Trigger action does not support webhook auto-unregistration: "+o.actionId}));return Promise.resolve(u.autoUnregisterWebhook(new r.SlateContext(a.config,{webhookBaseUrl:o.webhookBaseUrl,registrationDetails:o.registrationDetails,state:o.state},null==(i=a.auth)?void 0:i.output,n.spec,P))).then(function(){return{}})}catch(e){return Promise.reject(e)}}),Promise.resolve()}catch(e){return Promise.reject(e)}})};
|
|
1
|
+
var e=require("@lowerdeck/error"),t=require("@slates/proto"),r=require("@slates/provider");function n(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var o=/*#__PURE__*/n(require("zod"));function i(e,t){if(!{}.hasOwnProperty.call(e,t))throw new TypeError("attempted to use private field on non-instance");return e}var a=0;function u(e){return"__private_"+a+++"_"+e}function s(){return s=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)({}).hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e},s.apply(null,arguments)}function c(e){var t=function(e){if("object"!=typeof e||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var r=t.call(e,"string");if("object"!=typeof r)return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==typeof t?t:t+""}var l=function(t,r,n,o){var i=t.safeParse(r);if(!i.success)throw new e.ServiceError(function(t,r,n){return e.validationError({message:r,entity:t,errors:n.issues.map(function(e){return s({},e,{path:e.path.map(function(e){return String(e)})})})})}(n,o,i.error));return i.data},p=function(e){return e.toJSONSchema({unrepresentable:"any",override:function(e){var t=e.zodSchema._zod.def;"date"===t.type&&(e.jsonSchema.type="string",e.jsonSchema.format="date-time"),"bigint"===t.type&&(e.jsonSchema.type="number")}})},h=function(t,r){var n=t.spec.auth.authStack.find(function(e){return e.key==r});if(!n)throw new e.ServiceError(e.badRequestError({message:"Invalid authentication method ID: "+r}));return n},d=function(e,t){var r;return{id:t.key,name:t.name,type:t.type,scopes:"scopes"in t?t.scopes.map(function(e){return{id:e.scope,title:e.title,description:e.description}}):void 0,inputSchema:p(null!=(r=t.inputSchema)?r:o.default.object({})),outputSchema:p(e.spec.auth.outputSchema),capabilities:{getDefaultInput:{enabled:!(!("getDefaultInput"in t)||!t.getDefaultInput)},handleTokenRefresh:{enabled:!(!("handleTokenRefresh"in t)||!t.handleTokenRefresh)},handleChangedInput:{enabled:!!t.onInputChanged},getProfile:{enabled:!!t.getProfile}}}},f=function(t,r){var n=t.actions.find(function(e){return e.key==r});if(!n)throw new e.ServiceError(e.notFoundError("action",r));return n},v=function(t,r,n){var o=f(t,n);if(o.type!=r)throw new e.ServiceError(e.badRequestError({message:"Action with ID "+n+" is not of type "+r}));return o},m=function(e,t){var n;return s({},{id:t.key,name:t.name,description:t.description,instructions:t.instructions,constraints:t.constraints,tags:t.tags,metadata:t.metadata,inputSchema:p(t.inputSchema),outputSchema:p(t.outputSchema)},"tool"==t.type?{type:"action.tool",capabilities:{}}:{type:"action.trigger",capabilities:{},invocation:"polling"==t.source?{type:"polling",intervalSeconds:null!=(n=t.polling.intervalInSeconds)?n:r.SlateDefaultPollingIntervalSeconds}:{type:"webhook",autoRegistration:!!t.autoRegisterWebhook,autoUnregistration:!!t.autoUnregisterWebhook}})},g=/*#__PURE__*/u("value"),P=/*#__PURE__*/function(){function e(e){Object.defineProperty(this,g,{writable:!0,value:void 0}),i(this,g)[g]=e}var t,r,n=e.prototype;return n.get=function(){return i(this,g)[g]},n.set=function(e){i(this,g)[g]=e},t=e,(r=[{key:"value",get:function(){return i(this,g)[g]}}])&&function(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,c(n.key),n)}}(t.prototype,r),Object.defineProperty(t,"prototype",{writable:!1}),t}();exports.createProviderHandler=function(n,o){return t.createSlatesProviderProtoHandler(function(t){try{var i=new P(null),a=new P(null),u=new P(null),c=new P(null),g=new P(null),y=new r.SlateLogger(o),w=function(){var t=i.get(),r=a.get();if(!t||!r)throw new e.ServiceError(e.preconditionFailedError({message:"Connection context has not been initialized"}));return{protocol:t,participants:r}},I=function(){var t=w(),r=c.get(),o=g.get(),i=u.get();if(!r||!o||!i&&n.spec.auth.authStack.length>0)throw new e.ServiceError(e.preconditionFailedError({message:"Session context has not been initialized"}));return s({},t,{config:r.value,session:o,auth:i})};return t.onNotification("slates/hello",function(e){var t=e.params;try{return i.set(t.protocol),Promise.resolve()}catch(e){return Promise.reject(e)}}),t.onNotification("slates/participant.set",function(t){var r=t.params;try{if(!i.get())throw new e.ServiceError(e.preconditionFailedError({message:"Connection protocol has not been initialized"}));return a.set(r.participants),Promise.resolve()}catch(e){return Promise.reject(e)}}),t.onNotification("slates/auth.set",function(e){var t=e.params;try{w(),h(n,t.authenticationMethodId);var r=l(n.spec.authSchema,t.output,"auth","Invalid authentication output for method ID: "+t.authenticationMethodId);return u.set({authenticationMethodId:t.authenticationMethodId,output:r}),Promise.resolve()}catch(e){return Promise.reject(e)}}),t.onNotification("slates/config.set",function(e){var t=e.params;try{w();var r=l(n.spec.configSchema,t.config,"config","Invalid configuration");return c.set({value:r}),Promise.resolve()}catch(e){return Promise.reject(e)}}),t.onNotification("slates/session.start",function(e){var t=e.params;try{return w(),g.set({id:t.sessionId,state:t.state}),Promise.resolve()}catch(e){return Promise.reject(e)}}),t.onRequest("slates/config.changed",function(e){var t=e.params;try{w();var r=l(n.spec.config.configSchema,t.newConfig,"config","Invalid configuration"),o=n.spec.config.handlers.configChanged;return o?Promise.resolve(o({previousConfig:t.previousConfig,newConfig:r})).then(function(e){var t;return{success:!0,config:null!=(t=null==e?void 0:e.config)?t:r}}):Promise.resolve({success:!0,config:r})}catch(e){return Promise.reject(e)}}),t.onRequest("slates/config.get_default",function(e){try{w();var t=n.spec.config.handlers.getDefaultConfig;return t?Promise.resolve(t()).then(function(e){return{config:e}}):Promise.resolve({config:null})}catch(e){return Promise.reject(e)}}),t.onRequest("slates/config.schema.get",function(e){try{return w(),Promise.resolve({schema:p(n.spec.configSchema)})}catch(e){return Promise.reject(e)}}),t.onRequest("slates/provider.identify",function(e){try{return w(),Promise.resolve({protocol:"slates@2026-01-01",provider:{type:"provider",id:n.spec.key,name:n.spec.name,description:n.spec.description,metadata:n.spec.parameters.metadata}})}catch(e){return Promise.reject(e)}}),t.onRequest("slates/auth.methods.list",function(e){try{return w(),Promise.resolve({authenticationMethods:n.spec.auth.authStack.map(function(e){return d(n,e)})})}catch(e){return Promise.reject(e)}}),t.onRequest("slates/auth.method.get",function(e){var t=e.params;try{w();var r=h(n,t.authenticationMethodId);return Promise.resolve({authenticationMethod:d(n,r)})}catch(e){return Promise.reject(e)}}),t.onRequest("slates/auth.input.get_default",function(e){var t=e.params;try{w();var r=h(n,t.authenticationMethodId);return r.getDefaultInput?Promise.resolve(r.getDefaultInput()).then(function(e){return{input:e}}):Promise.resolve({input:null})}catch(e){return Promise.reject(e)}}),t.onRequest("slates/auth.input.changed",function(e){var t=e.params;try{w();var r=h(n,t.authenticationMethodId);return r.onInputChanged?Promise.resolve(r.onInputChanged({previousInput:t.previousInput,newInput:t.newInput})).then(function(e){var r;return{success:!0,input:null!=(r=null==e?void 0:e.input)?r:t.newInput}}):Promise.resolve({success:!0,input:t.newInput})}catch(e){return Promise.reject(e)}}),t.onRequest("slates/auth.output.get",function(e){var t=e.params;try{var r,o=function(e){return r?e:{output:a}};w();var i=h(n,t.authenticationMethodId),a=t.input;i.inputSchema&&(a=l(i.inputSchema,a,"auth","Invalid authentication input for method ID: "+t.authenticationMethodId));var u=function(){if("getOutput"in i)return Promise.resolve(i.getOutput({input:a})).then(function(e){return r=1,{output:e.output}})}();return Promise.resolve(u&&u.then?u.then(o):o(u))}catch(e){return Promise.reject(e)}}),t.onRequest("slates/auth.authorization_callback.handle",function(t){var r=t.params;try{var o,i=function(t){if(o)return t;throw new e.ServiceError(e.preconditionFailedError({message:"Authentication method does not support authorization callback handling: "+r.authenticationMethodId}))};w();var a=h(n,r.authenticationMethodId),u=function(){if("handleCallback"in a)return Promise.resolve(a.handleCallback({code:r.code,state:r.state,redirectUri:r.redirectUri,input:r.input,clientId:r.clientId,clientSecret:r.clientSecret,scopes:r.scopes})).then(function(e){return o=1,{output:e.output,input:e.input}})}();return Promise.resolve(u&&u.then?u.then(i):i(u))}catch(e){return Promise.reject(e)}}),t.onRequest("slates/auth.authorization_url.get",function(t){var r=t.params;try{var o,i=function(t){if(o)return t;throw new e.ServiceError(e.preconditionFailedError({message:"Authentication method does not support authorization URL retrieval: "+r.authenticationMethodId}))};w();var a=h(n,r.authenticationMethodId),u=function(){if("getAuthorizationUrl"in a)return Promise.resolve(a.getAuthorizationUrl({redirectUri:r.redirectUri,state:r.state,input:r.input,clientId:r.clientId,clientSecret:r.clientSecret,scopes:r.scopes})).then(function(e){return o=1,{authorizationUrl:e.url,input:e.input}})}();return Promise.resolve(u&&u.then?u.then(i):i(u))}catch(e){return Promise.reject(e)}}),t.onRequest("slates/auth.profile.get",function(t){var r=t.params;try{var o,i=function(t){if(o)return t;throw new e.ServiceError(e.preconditionFailedError({message:"Authentication method does not support profile retrieval: "+r.authenticationMethodId}))};w();var a=h(n,r.authenticationMethodId),u=function(){if(a.getProfile)return Promise.resolve(a.getProfile({output:r.output,input:r.input,scopes:r.scopes})).then(function(e){return o=1,{profile:e.profile}})}();return Promise.resolve(u&&u.then?u.then(i):i(u))}catch(e){return Promise.reject(e)}}),t.onRequest("slates/auth.token_refresh.handle",function(t){var r=t.params;try{var o,i=function(t){if(o)return t;throw new e.ServiceError(e.preconditionFailedError({message:"Authentication method does not support token refresh handling: "+r.authenticationMethodId}))};w();var a=h(n,r.authenticationMethodId),u=function(){if("handleTokenRefresh"in a&&a.handleTokenRefresh)return Promise.resolve(a.handleTokenRefresh({output:r.output,input:r.input,clientId:r.clientId,clientSecret:r.clientSecret,scopes:r.scopes})).then(function(e){return o=1,{output:e.output,input:e.input}})}();return Promise.resolve(u&&u.then?u.then(i):i(u))}catch(e){return Promise.reject(e)}}),t.onRequest("slates/actions.list",function(e){try{return w(),Promise.resolve({actions:n.actions.map(function(e){return m(0,e)})})}catch(e){return Promise.reject(e)}}),t.onRequest("slates/action.get",function(e){var t=e.params;try{w();var r=f(n,t.actionId);return Promise.resolve({action:m(0,r)})}catch(e){return Promise.reject(e)}}),t.onRequest("slates/action.tool.invoke",function(e){var t=e.params;try{var o,i=I(),a=v(n,"tool",t.actionId),u=l(a.inputSchema,t.input,"input","Invalid input for tool ID: "+t.actionId);return Promise.resolve(a.handleInvocation(new r.SlateContext(i.config,u,null==(o=i.auth)?void 0:o.output,n.spec,y))).then(function(e){return{output:e.output,message:e.message}})}catch(e){return Promise.reject(e)}}),t.onRequest("slates/action.trigger.map_event",function(e){var t=e.params;try{var o,i=I(),a=v(n,"trigger",t.actionId),u=l(a.inputSchema,t.input,"input","Invalid event for trigger ID: "+t.actionId);return Promise.resolve(a.handleEvent(new r.SlateContext(i.config,u,null==(o=i.auth)?void 0:o.output,n.spec,y))).then(function(e){return{id:e.id,type:e.type,output:e.output}})}catch(e){return Promise.reject(e)}}),t.onRequest("slates/action.trigger.poll_events",function(t){var o=t.params;try{var i,a=I(),u=v(n,"trigger",o.actionId);if(!u.pollEvents)throw new e.ServiceError(e.badRequestError({message:"Trigger action does not support polling: "+o.actionId}));return Promise.resolve(u.pollEvents(new r.SlateContext(a.config,{state:o.state},null==(i=a.auth)?void 0:i.output,n.spec,y))).then(function(e){return{inputs:e.inputs,updatedState:e.updatedState}})}catch(e){return Promise.reject(e)}}),t.onRequest("slates/action.trigger.webhook_handle",function(t){var o=t.params;try{var i,a=I(),u=v(n,"trigger",o.actionId);if(!u.handleRequest)throw new e.ServiceError(e.badRequestError({message:"Trigger action does not support webhook requests: "+o.actionId}));var s=new Request(o.url,{method:o.method,headers:o.headers,body:o.body?Uint8Array.from(atob(o.body.content),function(e){return e.charCodeAt(0)}):null});return Promise.resolve(u.handleRequest(new r.SlateContext(a.config,{request:s,state:o.state},null==(i=a.auth)?void 0:i.output,n.spec,y))).then(function(e){return{inputs:e.inputs,updatedState:e.updatedState}})}catch(e){return Promise.reject(e)}}),t.onRequest("slates/action.trigger.webhook_register",function(t){var o=t.params;try{var i,a=I(),u=v(n,"trigger",o.actionId);if(!u.autoRegisterWebhook)throw new e.ServiceError(e.badRequestError({message:"Trigger action does not support webhook auto-registration: "+o.actionId}));return Promise.resolve(u.autoRegisterWebhook(new r.SlateContext(a.config,{webhookBaseUrl:o.webhookBaseUrl},null==(i=a.auth)?void 0:i.output,n.spec,y))).then(function(e){return{registrationDetails:e.registrationDetails,state:e.state}})}catch(e){return Promise.reject(e)}}),t.onRequest("slates/action.trigger.webhook_unregister",function(t){var o=t.params;try{var i,a=I(),u=v(n,"trigger",o.actionId);if(!u.autoUnregisterWebhook)throw new e.ServiceError(e.badRequestError({message:"Trigger action does not support webhook auto-unregistration: "+o.actionId}));return Promise.resolve(u.autoUnregisterWebhook(new r.SlateContext(a.config,{webhookBaseUrl:o.webhookBaseUrl,registrationDetails:o.registrationDetails,state:o.state},null==(i=a.auth)?void 0:i.output,n.spec,y))).then(function(){return{}})}catch(e){return Promise.reject(e)}}),Promise.resolve()}catch(e){return Promise.reject(e)}})};
|
|
2
2
|
//# sourceMappingURL=index.cjs.map
|
package/dist/index.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.cjs","sources":["../src/spec.ts","../src/state.ts","../src/validation.ts","../src/index.ts"],"sourcesContent":["import { badRequestError, notFoundError, ServiceError } from '@lowerdeck/error';\nimport { SlateAuthenticationMethod, SlatesAction } from '@slates/proto';\nimport { Slate, SlateDefaultPollingIntervalSeconds } from '@slates/provider';\nimport z from 'zod';\n\nexport let getAuthMethod = <ConfigType extends {}, AuthType extends {}>(\n slate: Slate<ConfigType, AuthType>,\n authenticationMethodId: string\n) => {\n let authMethod = slate.spec.auth.authStack.find(m => m.key == authenticationMethodId);\n if (!authMethod) {\n throw new ServiceError(\n badRequestError({\n message: `Invalid authentication method ID: ${authenticationMethodId}`\n })\n );\n }\n\n return authMethod;\n};\n\nexport let mapAuthMethod = <ConfigType extends {}, AuthType extends {}>(\n slate: Slate<ConfigType, AuthType>,\n m: ReturnType<typeof getAuthMethod<ConfigType, AuthType>>\n): SlateAuthenticationMethod => ({\n id: m.key,\n name: m.name,\n type: m.type,\n\n scopes:\n 'scopes' in m\n ? m.scopes.map(s => ({\n id: s.scope,\n title: s.title,\n description: s.description\n }))\n : undefined,\n\n inputSchema: (m.inputSchema ?? z.object({})).toJSONSchema(),\n outputSchema: slate.spec.auth.outputSchema.toJSONSchema(),\n\n capabilities: {\n getDefaultInput: { enabled: !!('getDefaultInput' in m && m.getDefaultInput) },\n handleTokenRefresh: {\n enabled: !!('handleTokenRefresh' in m && m.handleTokenRefresh)\n },\n handleChangedInput: {\n enabled: !!m.onInputChanged\n },\n getProfile: { enabled: !!m.getProfile }\n }\n});\n\nexport let getAction = <ConfigType extends {}, AuthType extends {}>(\n slate: Slate<ConfigType, AuthType>,\n actionId: string\n) => {\n let action = slate.actions.find(m => m.key == actionId);\n if (!action) {\n throw new ServiceError(notFoundError(`action`, actionId));\n }\n\n return action;\n};\n\nexport let getActionWithType = <\n Type extends 'tool' | 'trigger',\n ConfigType extends {},\n AuthType extends {}\n>(\n slate: Slate<ConfigType, AuthType>,\n type: Type,\n actionId: string\n): ReturnType<typeof getAction<ConfigType, AuthType>> & { type: Type } => {\n let action = getAction(slate, actionId);\n if (action.type != type) {\n throw new ServiceError(\n badRequestError({\n message: `Action with ID ${actionId} is not of type ${type}`\n })\n );\n }\n\n return action as any;\n};\n\nexport let mapAction = <ConfigType extends {}, AuthType extends {}>(\n slate: Slate<ConfigType, AuthType>,\n a: ReturnType<typeof getAction<ConfigType, AuthType>>\n): SlatesAction => {\n let base = {\n id: a.key,\n name: a.name,\n description: a.description,\n instructions: a.instructions,\n constraints: a.constraints,\n tags: a.tags,\n metadata: a.metadata,\n\n inputSchema: a.inputSchema.toJSONSchema(),\n outputSchema: a.outputSchema.toJSONSchema()\n };\n\n if (a.type == 'tool') {\n return {\n ...base,\n type: 'action.tool',\n capabilities: {}\n };\n }\n\n return {\n ...base,\n type: 'action.trigger',\n capabilities: {},\n\n invocation:\n a.source == 'polling'\n ? {\n type: 'polling',\n intervalSeconds: a.polling.intervalInSeconds ?? SlateDefaultPollingIntervalSeconds\n }\n : {\n type: 'webhook',\n autoRegistration: !!a.autoRegisterWebhook,\n autoUnregistration: !!a.autoUnregisterWebhook\n }\n };\n};\n","export class State<T> {\n #value: T;\n\n get value() {\n return this.#value;\n }\n\n get() {\n return this.#value;\n }\n\n set(value: T) {\n this.#value = value;\n }\n\n constructor(initialValue: T) {\n this.#value = initialValue;\n }\n}\n","import { ServiceError, validationError } from '@lowerdeck/error';\nimport z from 'zod';\n\nexport let zodToValidationError = (entity: string, message: string, e: z.ZodError) => {\n return validationError({\n message,\n entity,\n errors: e.issues.map(i => ({\n ...i,\n path: i.path.map(p => String(p))\n }))\n });\n};\n\nexport let validate = <T>(\n schema: z.ZodType<T>,\n data: unknown,\n entity: string,\n message: string\n): T => {\n let result = schema.safeParse(data);\n if (!result.success) {\n throw new ServiceError(zodToValidationError(entity, message, result.error));\n }\n\n return result.data;\n};\n","import { badRequestError, preconditionFailedError, ServiceError } from '@lowerdeck/error';\nimport { createSlatesProviderProtoHandler, SlatesParticipant } from '@slates/proto';\nimport { Slate, SlateContext, SlateLogger, SlateLogListener } from '@slates/provider';\nimport { getAction, getActionWithType, getAuthMethod, mapAction, mapAuthMethod } from './spec';\nimport { State } from './state';\nimport { validate } from './validation';\n\nexport let createProviderHandler = <ConfigType extends {}, AuthType extends {}>(\n slate: Slate<ConfigType, AuthType>,\n listeners: SlateLogListener[]\n) =>\n createSlatesProviderProtoHandler(async manager => {\n let protocol = new State<string | null>(null);\n let participants = new State<SlatesParticipant[] | null>(null);\n\n let auth = new State<{ authenticationMethodId: string; output: AuthType } | null>(null);\n let config = new State<{ value: ConfigType } | null>(null);\n\n let session = new State<{ id: string; state: any } | null>(null);\n\n let logger = new SlateLogger(listeners);\n\n let getContextBasic = () => {\n let currentProtocol = protocol.get();\n let currentParticipants = participants.get();\n\n if (!currentProtocol || !currentParticipants) {\n throw new ServiceError(\n preconditionFailedError({\n message: 'Connection context has not been initialized'\n })\n );\n }\n\n return {\n protocol: currentProtocol,\n participants: currentParticipants\n };\n };\n\n let getContextFull = () => {\n let basic = getContextBasic();\n\n let currentConfig = config.get();\n let currentSession = session.get();\n let currentAuth = auth.get();\n\n if (\n !currentConfig ||\n !currentSession ||\n (!currentAuth && slate.spec.auth.authStack.length > 0)\n ) {\n throw new ServiceError(\n preconditionFailedError({\n message: 'Session context has not been initialized'\n })\n );\n }\n\n return {\n ...basic,\n config: currentConfig.value,\n session: currentSession,\n auth: currentAuth\n };\n };\n\n manager.onNotification('slates/hello', async ({ params }) => {\n protocol.set(params.protocol);\n });\n\n manager.onNotification('slates/participant.set', async ({ params }) => {\n if (!protocol.get()) {\n throw new ServiceError(\n preconditionFailedError({ message: 'Connection protocol has not been initialized' })\n );\n }\n\n participants.set(params.participants);\n });\n\n manager.onNotification('slates/auth.set', async ({ params }) => {\n getContextBasic();\n getAuthMethod(slate, params.authenticationMethodId); // validate method ID\n\n let valRes = validate(\n slate.spec.authSchema,\n params.output,\n 'auth',\n `Invalid authentication output for method ID: ${params.authenticationMethodId}`\n );\n\n auth.set({\n authenticationMethodId: params.authenticationMethodId,\n output: valRes\n });\n });\n\n manager.onNotification('slates/config.set', async ({ params }) => {\n getContextBasic();\n\n let value = validate(\n slate.spec.configSchema,\n params.config,\n 'config',\n 'Invalid configuration'\n );\n\n config.set({ value });\n });\n\n manager.onNotification('slates/session.start', async ({ params }) => {\n getContextBasic();\n\n session.set({\n id: params.sessionId,\n state: params.state\n });\n });\n\n manager.onRequest('slates/config.changed', async ({ params }) => {\n getContextBasic();\n\n let newConfig = validate(\n slate.spec.config.configSchema,\n params.newConfig,\n 'config',\n 'Invalid configuration'\n );\n\n let configChanged = slate.spec.config.handlers.configChanged;\n if (!configChanged) {\n return { success: true, config: newConfig };\n }\n\n let updatedConfig = await configChanged({\n previousConfig: params.previousConfig as ConfigType | null,\n newConfig\n });\n\n return { success: true, config: updatedConfig?.config ?? newConfig };\n });\n\n manager.onRequest('slates/config.get_default', async ({ params }) => {\n getContextBasic();\n\n let getDefaultConfig = slate.spec.config.handlers.getDefaultConfig;\n if (!getDefaultConfig) {\n return { config: null };\n }\n\n let defaultConfig = await getDefaultConfig();\n return { config: defaultConfig };\n });\n\n manager.onRequest('slates/config.schema.get', async ({ params }) => {\n getContextBasic();\n\n return { schema: slate.spec.configSchema.toJSONSchema() };\n });\n\n manager.onRequest('slates/provider.identify', async ({ params }) => {\n getContextBasic();\n\n return {\n protocol: 'slates@2026-01-01',\n provider: {\n type: 'provider',\n id: slate.spec.key,\n name: slate.spec.name,\n description: slate.spec.description,\n metadata: slate.spec.parameters.metadata\n }\n };\n });\n\n manager.onRequest('slates/auth.methods.list', async ({ params }) => {\n getContextBasic();\n\n return {\n authenticationMethods: slate.spec.auth.authStack.map(m => mapAuthMethod(slate, m))\n };\n });\n\n manager.onRequest('slates/auth.method.get', async ({ params }) => {\n getContextBasic();\n let authMethod = getAuthMethod(slate, params.authenticationMethodId);\n\n return {\n authenticationMethod: mapAuthMethod(slate, authMethod)\n };\n });\n\n manager.onRequest('slates/auth.input.get_default', async ({ params }) => {\n getContextBasic();\n let authMethod = getAuthMethod(slate, params.authenticationMethodId);\n\n if (!authMethod.getDefaultInput) {\n return { input: null };\n }\n\n return { input: await authMethod.getDefaultInput() };\n });\n\n manager.onRequest('slates/auth.input.changed', async ({ params }) => {\n getContextBasic();\n let authMethod = getAuthMethod(slate, params.authenticationMethodId);\n\n if (!authMethod.onInputChanged) {\n return { success: true, input: params.newInput };\n }\n\n let updatedInput = await authMethod.onInputChanged({\n previousInput: params.previousInput as any | null,\n newInput: params.newInput\n });\n\n return { success: true, input: updatedInput?.input ?? params.newInput };\n });\n\n manager.onRequest('slates/auth.output.get', async ({ params }) => {\n getContextBasic();\n let authMethod = getAuthMethod(slate, params.authenticationMethodId);\n\n let input = params.input;\n\n if (authMethod.inputSchema) {\n input = validate(\n authMethod.inputSchema,\n input,\n 'auth',\n `Invalid authentication input for method ID: ${params.authenticationMethodId}`\n );\n }\n\n if ('getOutput' in authMethod) {\n let outputRes = await authMethod.getOutput({ input });\n return { output: outputRes.output };\n }\n\n return { output: input as any };\n });\n\n manager.onRequest('slates/auth.authorization_callback.handle', async ({ params }) => {\n getContextBasic();\n let authMethod = getAuthMethod(slate, params.authenticationMethodId);\n\n if ('handleCallback' in authMethod) {\n let callbackRes = await authMethod.handleCallback({\n code: params.code,\n state: params.state,\n redirectUri: params.redirectUri,\n input: params.input,\n clientId: params.clientId,\n clientSecret: params.clientSecret,\n scopes: params.scopes\n });\n\n return {\n output: callbackRes.output,\n input: callbackRes.input\n };\n }\n\n throw new ServiceError(\n preconditionFailedError({\n message: `Authentication method does not support authorization callback handling: ${params.authenticationMethodId}`\n })\n );\n });\n\n manager.onRequest('slates/auth.authorization_url.get', async ({ params }) => {\n getContextBasic();\n let authMethod = getAuthMethod(slate, params.authenticationMethodId);\n\n if ('getAuthorizationUrl' in authMethod) {\n let urlRes = await authMethod.getAuthorizationUrl({\n redirectUri: params.redirectUri,\n state: params.state,\n input: params.input,\n clientId: params.clientId,\n clientSecret: params.clientSecret,\n scopes: params.scopes\n });\n\n return {\n authorizationUrl: urlRes.url,\n input: urlRes.input\n };\n }\n\n throw new ServiceError(\n preconditionFailedError({\n message: `Authentication method does not support authorization URL retrieval: ${params.authenticationMethodId}`\n })\n );\n });\n\n manager.onRequest('slates/auth.profile.get', async ({ params }) => {\n getContextBasic();\n let authMethod = getAuthMethod(slate, params.authenticationMethodId);\n\n if (authMethod.getProfile) {\n let profileRes = await authMethod.getProfile({\n output: params.output as any,\n input: params.input,\n scopes: params.scopes\n });\n\n return {\n profile: profileRes.profile\n };\n }\n\n throw new ServiceError(\n preconditionFailedError({\n message: `Authentication method does not support profile retrieval: ${params.authenticationMethodId}`\n })\n );\n });\n\n manager.onRequest('slates/auth.token_refresh.handle', async ({ params }) => {\n getContextBasic();\n let authMethod = getAuthMethod(slate, params.authenticationMethodId);\n\n if ('handleTokenRefresh' in authMethod && authMethod.handleTokenRefresh) {\n let refreshRes = await authMethod.handleTokenRefresh({\n output: params.output as any,\n input: params.input,\n clientId: params.clientId,\n clientSecret: params.clientSecret,\n scopes: params.scopes\n });\n\n return {\n output: refreshRes.output,\n input: refreshRes.input\n };\n }\n\n throw new ServiceError(\n preconditionFailedError({\n message: `Authentication method does not support token refresh handling: ${params.authenticationMethodId}`\n })\n );\n });\n\n manager.onRequest('slates/actions.list', async ({ params }) => {\n getContextBasic();\n\n return {\n actions: slate.actions.map(a => mapAction(slate, a))\n };\n });\n\n manager.onRequest('slates/action.get', async ({ params }) => {\n getContextBasic();\n let action = getAction(slate, params.actionId);\n\n return {\n action: mapAction(slate, action)\n };\n });\n\n manager.onRequest('slates/action.tool.invoke', async ({ params }) => {\n let ctx = getContextFull();\n let action = getActionWithType(slate, 'tool', params.actionId);\n\n let input = validate(\n action.inputSchema,\n params.input,\n 'input',\n `Invalid input for tool ID: ${params.actionId}`\n );\n\n let res = await action.handleInvocation(\n new SlateContext(ctx.config, input, ctx.auth?.output!, slate.spec, logger)\n );\n\n return { output: res.output, message: res.message };\n });\n\n manager.onRequest('slates/action.trigger.map_event', async ({ params }) => {\n let ctx = getContextFull();\n let action = getActionWithType(slate, 'trigger', params.actionId);\n\n let input = validate(\n action.inputSchema,\n params.input,\n 'input',\n `Invalid event for trigger ID: ${params.actionId}`\n );\n\n let res = await action.handleEvent(\n new SlateContext(ctx.config, input, ctx.auth?.output!, slate.spec, logger)\n );\n\n return { id: res.id, type: res.type, output: res.output };\n });\n\n manager.onRequest('slates/action.trigger.poll_events', async ({ params }) => {\n let ctx = getContextFull();\n let action = getActionWithType(slate, 'trigger', params.actionId);\n\n if (!action.pollEvents) {\n throw new ServiceError(\n badRequestError({\n message: `Trigger action does not support polling: ${params.actionId}`\n })\n );\n }\n\n let res = await action.pollEvents(\n new SlateContext(\n ctx.config,\n { state: params.state },\n ctx.auth?.output!,\n slate.spec,\n logger\n )\n );\n\n return { inputs: res.inputs, updatedState: res.updatedState };\n });\n\n manager.onRequest('slates/action.trigger.webhook_handle', async ({ params }) => {\n let ctx = getContextFull();\n let action = getActionWithType(slate, 'trigger', params.actionId);\n\n if (!action.handleRequest) {\n throw new ServiceError(\n badRequestError({\n message: `Trigger action does not support webhook requests: ${params.actionId}`\n })\n );\n }\n\n let req = new Request(params.url, {\n method: params.method,\n headers: params.headers,\n body: params.body\n ? Uint8Array.from(atob(params.body.content), c => c.charCodeAt(0))\n : null\n });\n\n let res = await action.handleRequest(\n new SlateContext(\n ctx.config,\n { request: req, state: params.state },\n ctx.auth?.output!,\n slate.spec,\n logger\n )\n );\n\n return { inputs: res.inputs, updatedState: res.updatedState };\n });\n\n manager.onRequest('slates/action.trigger.webhook_register', async ({ params }) => {\n let ctx = getContextFull();\n let action = getActionWithType(slate, 'trigger', params.actionId);\n\n if (!action.autoRegisterWebhook) {\n throw new ServiceError(\n badRequestError({\n message: `Trigger action does not support webhook auto-registration: ${params.actionId}`\n })\n );\n }\n\n let res = await action.autoRegisterWebhook(\n new SlateContext(\n ctx.config,\n { webhookBaseUrl: params.webhookBaseUrl },\n ctx.auth?.output!,\n slate.spec,\n logger\n )\n );\n\n return { registrationDetails: res.registrationDetails, state: res.state };\n });\n\n manager.onRequest('slates/action.trigger.webhook_unregister', async ({ params }) => {\n let ctx = getContextFull();\n let action = getActionWithType(slate, 'trigger', params.actionId);\n\n if (!action.autoUnregisterWebhook) {\n throw new ServiceError(\n badRequestError({\n message: `Trigger action does not support webhook auto-unregistration: ${params.actionId}`\n })\n );\n }\n\n await action.autoUnregisterWebhook(\n new SlateContext(\n ctx.config,\n {\n webhookBaseUrl: params.webhookBaseUrl,\n registrationDetails: params.registrationDetails,\n state: params.state\n },\n ctx.auth?.output!,\n slate.spec,\n logger\n )\n );\n\n return {};\n });\n });\n"],"names":["getAuthMethod","slate","authenticationMethodId","authMethod","spec","auth","authStack","find","m","key","ServiceError","badRequestError","message","mapAuthMethod","_m$inputSchema","id","name","type","scopes","map","s","scope","title","description","undefined","inputSchema","z","object","toJSONSchema","outputSchema","capabilities","getDefaultInput","enabled","handleTokenRefresh","handleChangedInput","onInputChanged","getProfile","getAction","actionId","action","actions","notFoundError","getActionWithType","mapAction","a","_a$polling$intervalIn","_extends","instructions","constraints","tags","metadata","invocation","source","intervalSeconds","polling","intervalInSeconds","SlateDefaultPollingIntervalSeconds","autoRegistration","autoRegisterWebhook","autoUnregistration","autoUnregisterWebhook","State","initialValue","Object","defineProperty","_value","writable","value","_classPrivateFieldLooseBase","_proto","prototype","_createClass","get","this","set","validate","schema","data","entity","result","safeParse","success","e","validationError","errors","issues","i","path","p","String","zodToValidationError","error","listeners","createSlatesProviderProtoHandler","manager","protocol","participants","config","session","logger","SlateLogger","getContextBasic","currentProtocol","currentParticipants","preconditionFailedError","getContextFull","basic","currentConfig","currentSession","currentAuth","length","onNotification","_ref","params","Promise","resolve","reject","_ref2","_ref3","valRes","authSchema","output","_ref4","configSchema","_ref5","sessionId","state","onRequest","_ref6","newConfig","configChanged","handlers","previousConfig","then","updatedConfig","_updatedConfig$config","_ref7","getDefaultConfig","defaultConfig","_ref8","_ref9","provider","parameters","_ref0","authenticationMethods","_ref1","authenticationMethod","_ref10","_authMethod$getDefaul","input","_ref11","previousInput","newInput","updatedInput","_updatedInput$input","_ref12","_temp2","_exit","_result","_temp","getOutput","outputRes","_ref13","_exit2","_temp4","_result2","_temp3","handleCallback","code","redirectUri","clientId","clientSecret","callbackRes","_ref14","_temp6","_exit3","_result3","_temp5","getAuthorizationUrl","urlRes","authorizationUrl","url","_ref15","_temp8","_exit4","_result4","_temp7","profileRes","profile","_ref16","_exit5","_temp0","_result5","_temp9","refreshRes","_ref17","_ref18","_ref19","_ctx$auth","ctx","handleInvocation","SlateContext","res","_ref20","_ctx$auth2","handleEvent","_ref21","_ctx$auth3","pollEvents","inputs","updatedState","_ref22","_ctx$auth4","handleRequest","req","Request","method","headers","body","Uint8Array","from","atob","content","c","charCodeAt","request","_ref23","_ctx$auth5","webhookBaseUrl","registrationDetails","_ref24","_ctx$auth6"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.cjs","sources":["../src/validation.ts","../src/spec.ts","../src/state.ts","../src/index.ts"],"sourcesContent":["import { ServiceError, validationError } from '@lowerdeck/error';\nimport z from 'zod';\n\nexport let zodToValidationError = (entity: string, message: string, e: z.ZodError) => {\n return validationError({\n message,\n entity,\n errors: e.issues.map(i => ({\n ...i,\n path: i.path.map(p => String(p))\n }))\n });\n};\n\nexport let validate = <T>(\n schema: z.ZodType<T>,\n data: unknown,\n entity: string,\n message: string\n): T => {\n let result = schema.safeParse(data);\n if (!result.success) {\n throw new ServiceError(zodToValidationError(entity, message, result.error));\n }\n\n return result.data;\n};\n\nexport let toJsonSchema = (schema: z.ZodType<any>) =>\n schema.toJSONSchema({\n unrepresentable: 'any',\n override: ctx => {\n let def = ctx.zodSchema._zod.def;\n\n if (def.type === 'date') {\n ctx.jsonSchema.type = 'string';\n ctx.jsonSchema.format = 'date-time';\n }\n if (def.type === 'bigint') {\n ctx.jsonSchema.type = 'number';\n }\n }\n });\n","import { badRequestError, notFoundError, ServiceError } from '@lowerdeck/error';\nimport { SlateAuthenticationMethod, SlatesAction } from '@slates/proto';\nimport { Slate, SlateDefaultPollingIntervalSeconds } from '@slates/provider';\nimport z from 'zod';\nimport { toJsonSchema } from './validation';\n\nexport let getAuthMethod = <ConfigType extends {}, AuthType extends {}>(\n slate: Slate<ConfigType, AuthType>,\n authenticationMethodId: string\n) => {\n let authMethod = slate.spec.auth.authStack.find(m => m.key == authenticationMethodId);\n if (!authMethod) {\n throw new ServiceError(\n badRequestError({\n message: `Invalid authentication method ID: ${authenticationMethodId}`\n })\n );\n }\n\n return authMethod;\n};\n\nexport let mapAuthMethod = <ConfigType extends {}, AuthType extends {}>(\n slate: Slate<ConfigType, AuthType>,\n m: ReturnType<typeof getAuthMethod<ConfigType, AuthType>>\n): SlateAuthenticationMethod => ({\n id: m.key,\n name: m.name,\n type: m.type,\n\n scopes:\n 'scopes' in m\n ? m.scopes.map(s => ({\n id: s.scope,\n title: s.title,\n description: s.description\n }))\n : undefined,\n\n inputSchema: toJsonSchema(m.inputSchema ?? z.object({})),\n outputSchema: toJsonSchema(slate.spec.auth.outputSchema),\n\n capabilities: {\n getDefaultInput: { enabled: !!('getDefaultInput' in m && m.getDefaultInput) },\n handleTokenRefresh: {\n enabled: !!('handleTokenRefresh' in m && m.handleTokenRefresh)\n },\n handleChangedInput: {\n enabled: !!m.onInputChanged\n },\n getProfile: { enabled: !!m.getProfile }\n }\n});\n\nexport let getAction = <ConfigType extends {}, AuthType extends {}>(\n slate: Slate<ConfigType, AuthType>,\n actionId: string\n) => {\n let action = slate.actions.find(m => m.key == actionId);\n if (!action) {\n throw new ServiceError(notFoundError(`action`, actionId));\n }\n\n return action;\n};\n\nexport let getActionWithType = <\n Type extends 'tool' | 'trigger',\n ConfigType extends {},\n AuthType extends {}\n>(\n slate: Slate<ConfigType, AuthType>,\n type: Type,\n actionId: string\n): ReturnType<typeof getAction<ConfigType, AuthType>> & { type: Type } => {\n let action = getAction(slate, actionId);\n if (action.type != type) {\n throw new ServiceError(\n badRequestError({\n message: `Action with ID ${actionId} is not of type ${type}`\n })\n );\n }\n\n return action as any;\n};\n\nexport let mapAction = <ConfigType extends {}, AuthType extends {}>(\n slate: Slate<ConfigType, AuthType>,\n a: ReturnType<typeof getAction<ConfigType, AuthType>>\n): SlatesAction => {\n let base = {\n id: a.key,\n name: a.name,\n description: a.description,\n instructions: a.instructions,\n constraints: a.constraints,\n tags: a.tags,\n metadata: a.metadata,\n\n inputSchema: toJsonSchema(a.inputSchema),\n outputSchema: toJsonSchema(a.outputSchema)\n };\n\n if (a.type == 'tool') {\n return {\n ...base,\n type: 'action.tool',\n capabilities: {}\n };\n }\n\n return {\n ...base,\n type: 'action.trigger',\n capabilities: {},\n\n invocation:\n a.source == 'polling'\n ? {\n type: 'polling',\n intervalSeconds: a.polling.intervalInSeconds ?? SlateDefaultPollingIntervalSeconds\n }\n : {\n type: 'webhook',\n autoRegistration: !!a.autoRegisterWebhook,\n autoUnregistration: !!a.autoUnregisterWebhook\n }\n };\n};\n","export class State<T> {\n #value: T;\n\n get value() {\n return this.#value;\n }\n\n get() {\n return this.#value;\n }\n\n set(value: T) {\n this.#value = value;\n }\n\n constructor(initialValue: T) {\n this.#value = initialValue;\n }\n}\n","import { badRequestError, preconditionFailedError, ServiceError } from '@lowerdeck/error';\nimport { createSlatesProviderProtoHandler, SlatesParticipant } from '@slates/proto';\nimport { Slate, SlateContext, SlateLogger, SlateLogListener } from '@slates/provider';\nimport { getAction, getActionWithType, getAuthMethod, mapAction, mapAuthMethod } from './spec';\nimport { State } from './state';\nimport { toJsonSchema, validate } from './validation';\n\nexport let createProviderHandler = <ConfigType extends {}, AuthType extends {}>(\n slate: Slate<ConfigType, AuthType>,\n listeners: SlateLogListener[]\n) =>\n createSlatesProviderProtoHandler(async manager => {\n let protocol = new State<string | null>(null);\n let participants = new State<SlatesParticipant[] | null>(null);\n\n let auth = new State<{ authenticationMethodId: string; output: AuthType } | null>(null);\n let config = new State<{ value: ConfigType } | null>(null);\n\n let session = new State<{ id: string; state: any } | null>(null);\n\n let logger = new SlateLogger(listeners);\n\n let getContextBasic = () => {\n let currentProtocol = protocol.get();\n let currentParticipants = participants.get();\n\n if (!currentProtocol || !currentParticipants) {\n throw new ServiceError(\n preconditionFailedError({\n message: 'Connection context has not been initialized'\n })\n );\n }\n\n return {\n protocol: currentProtocol,\n participants: currentParticipants\n };\n };\n\n let getContextFull = () => {\n let basic = getContextBasic();\n\n let currentConfig = config.get();\n let currentSession = session.get();\n let currentAuth = auth.get();\n\n if (\n !currentConfig ||\n !currentSession ||\n (!currentAuth && slate.spec.auth.authStack.length > 0)\n ) {\n throw new ServiceError(\n preconditionFailedError({\n message: 'Session context has not been initialized'\n })\n );\n }\n\n return {\n ...basic,\n config: currentConfig.value,\n session: currentSession,\n auth: currentAuth\n };\n };\n\n manager.onNotification('slates/hello', async ({ params }) => {\n protocol.set(params.protocol);\n });\n\n manager.onNotification('slates/participant.set', async ({ params }) => {\n if (!protocol.get()) {\n throw new ServiceError(\n preconditionFailedError({ message: 'Connection protocol has not been initialized' })\n );\n }\n\n participants.set(params.participants);\n });\n\n manager.onNotification('slates/auth.set', async ({ params }) => {\n getContextBasic();\n getAuthMethod(slate, params.authenticationMethodId); // validate method ID\n\n let valRes = validate(\n slate.spec.authSchema,\n params.output,\n 'auth',\n `Invalid authentication output for method ID: ${params.authenticationMethodId}`\n );\n\n auth.set({\n authenticationMethodId: params.authenticationMethodId,\n output: valRes\n });\n });\n\n manager.onNotification('slates/config.set', async ({ params }) => {\n getContextBasic();\n\n let value = validate(\n slate.spec.configSchema,\n params.config,\n 'config',\n 'Invalid configuration'\n );\n\n config.set({ value });\n });\n\n manager.onNotification('slates/session.start', async ({ params }) => {\n getContextBasic();\n\n session.set({\n id: params.sessionId,\n state: params.state\n });\n });\n\n manager.onRequest('slates/config.changed', async ({ params }) => {\n getContextBasic();\n\n let newConfig = validate(\n slate.spec.config.configSchema,\n params.newConfig,\n 'config',\n 'Invalid configuration'\n );\n\n let configChanged = slate.spec.config.handlers.configChanged;\n if (!configChanged) {\n return { success: true, config: newConfig };\n }\n\n let updatedConfig = await configChanged({\n previousConfig: params.previousConfig as ConfigType | null,\n newConfig\n });\n\n return { success: true, config: updatedConfig?.config ?? newConfig };\n });\n\n manager.onRequest('slates/config.get_default', async ({ params }) => {\n getContextBasic();\n\n let getDefaultConfig = slate.spec.config.handlers.getDefaultConfig;\n if (!getDefaultConfig) {\n return { config: null };\n }\n\n let defaultConfig = await getDefaultConfig();\n return { config: defaultConfig };\n });\n\n manager.onRequest('slates/config.schema.get', async ({ params }) => {\n getContextBasic();\n\n return { schema: toJsonSchema(slate.spec.configSchema) };\n });\n\n manager.onRequest('slates/provider.identify', async ({ params }) => {\n getContextBasic();\n\n return {\n protocol: 'slates@2026-01-01',\n provider: {\n type: 'provider',\n id: slate.spec.key,\n name: slate.spec.name,\n description: slate.spec.description,\n metadata: slate.spec.parameters.metadata\n }\n };\n });\n\n manager.onRequest('slates/auth.methods.list', async ({ params }) => {\n getContextBasic();\n\n return {\n authenticationMethods: slate.spec.auth.authStack.map(m => mapAuthMethod(slate, m))\n };\n });\n\n manager.onRequest('slates/auth.method.get', async ({ params }) => {\n getContextBasic();\n let authMethod = getAuthMethod(slate, params.authenticationMethodId);\n\n return {\n authenticationMethod: mapAuthMethod(slate, authMethod)\n };\n });\n\n manager.onRequest('slates/auth.input.get_default', async ({ params }) => {\n getContextBasic();\n let authMethod = getAuthMethod(slate, params.authenticationMethodId);\n\n if (!authMethod.getDefaultInput) {\n return { input: null };\n }\n\n return { input: await authMethod.getDefaultInput() };\n });\n\n manager.onRequest('slates/auth.input.changed', async ({ params }) => {\n getContextBasic();\n let authMethod = getAuthMethod(slate, params.authenticationMethodId);\n\n if (!authMethod.onInputChanged) {\n return { success: true, input: params.newInput };\n }\n\n let updatedInput = await authMethod.onInputChanged({\n previousInput: params.previousInput as any | null,\n newInput: params.newInput\n });\n\n return { success: true, input: updatedInput?.input ?? params.newInput };\n });\n\n manager.onRequest('slates/auth.output.get', async ({ params }) => {\n getContextBasic();\n let authMethod = getAuthMethod(slate, params.authenticationMethodId);\n\n let input = params.input;\n\n if (authMethod.inputSchema) {\n input = validate(\n authMethod.inputSchema,\n input,\n 'auth',\n `Invalid authentication input for method ID: ${params.authenticationMethodId}`\n );\n }\n\n if ('getOutput' in authMethod) {\n let outputRes = await authMethod.getOutput({ input });\n return { output: outputRes.output };\n }\n\n return { output: input as any };\n });\n\n manager.onRequest('slates/auth.authorization_callback.handle', async ({ params }) => {\n getContextBasic();\n let authMethod = getAuthMethod(slate, params.authenticationMethodId);\n\n if ('handleCallback' in authMethod) {\n let callbackRes = await authMethod.handleCallback({\n code: params.code,\n state: params.state,\n redirectUri: params.redirectUri,\n input: params.input,\n clientId: params.clientId,\n clientSecret: params.clientSecret,\n scopes: params.scopes\n });\n\n return {\n output: callbackRes.output,\n input: callbackRes.input\n };\n }\n\n throw new ServiceError(\n preconditionFailedError({\n message: `Authentication method does not support authorization callback handling: ${params.authenticationMethodId}`\n })\n );\n });\n\n manager.onRequest('slates/auth.authorization_url.get', async ({ params }) => {\n getContextBasic();\n let authMethod = getAuthMethod(slate, params.authenticationMethodId);\n\n if ('getAuthorizationUrl' in authMethod) {\n let urlRes = await authMethod.getAuthorizationUrl({\n redirectUri: params.redirectUri,\n state: params.state,\n input: params.input,\n clientId: params.clientId,\n clientSecret: params.clientSecret,\n scopes: params.scopes\n });\n\n return {\n authorizationUrl: urlRes.url,\n input: urlRes.input\n };\n }\n\n throw new ServiceError(\n preconditionFailedError({\n message: `Authentication method does not support authorization URL retrieval: ${params.authenticationMethodId}`\n })\n );\n });\n\n manager.onRequest('slates/auth.profile.get', async ({ params }) => {\n getContextBasic();\n let authMethod = getAuthMethod(slate, params.authenticationMethodId);\n\n if (authMethod.getProfile) {\n let profileRes = await authMethod.getProfile({\n output: params.output as any,\n input: params.input,\n scopes: params.scopes\n });\n\n return {\n profile: profileRes.profile\n };\n }\n\n throw new ServiceError(\n preconditionFailedError({\n message: `Authentication method does not support profile retrieval: ${params.authenticationMethodId}`\n })\n );\n });\n\n manager.onRequest('slates/auth.token_refresh.handle', async ({ params }) => {\n getContextBasic();\n let authMethod = getAuthMethod(slate, params.authenticationMethodId);\n\n if ('handleTokenRefresh' in authMethod && authMethod.handleTokenRefresh) {\n let refreshRes = await authMethod.handleTokenRefresh({\n output: params.output as any,\n input: params.input,\n clientId: params.clientId,\n clientSecret: params.clientSecret,\n scopes: params.scopes\n });\n\n return {\n output: refreshRes.output,\n input: refreshRes.input\n };\n }\n\n throw new ServiceError(\n preconditionFailedError({\n message: `Authentication method does not support token refresh handling: ${params.authenticationMethodId}`\n })\n );\n });\n\n manager.onRequest('slates/actions.list', async ({ params }) => {\n getContextBasic();\n\n return {\n actions: slate.actions.map(a => mapAction(slate, a))\n };\n });\n\n manager.onRequest('slates/action.get', async ({ params }) => {\n getContextBasic();\n let action = getAction(slate, params.actionId);\n\n return {\n action: mapAction(slate, action)\n };\n });\n\n manager.onRequest('slates/action.tool.invoke', async ({ params }) => {\n let ctx = getContextFull();\n let action = getActionWithType(slate, 'tool', params.actionId);\n\n let input = validate(\n action.inputSchema,\n params.input,\n 'input',\n `Invalid input for tool ID: ${params.actionId}`\n );\n\n let res = await action.handleInvocation(\n new SlateContext(ctx.config, input, ctx.auth?.output!, slate.spec, logger)\n );\n\n return { output: res.output, message: res.message };\n });\n\n manager.onRequest('slates/action.trigger.map_event', async ({ params }) => {\n let ctx = getContextFull();\n let action = getActionWithType(slate, 'trigger', params.actionId);\n\n let input = validate(\n action.inputSchema,\n params.input,\n 'input',\n `Invalid event for trigger ID: ${params.actionId}`\n );\n\n let res = await action.handleEvent(\n new SlateContext(ctx.config, input, ctx.auth?.output!, slate.spec, logger)\n );\n\n return { id: res.id, type: res.type, output: res.output };\n });\n\n manager.onRequest('slates/action.trigger.poll_events', async ({ params }) => {\n let ctx = getContextFull();\n let action = getActionWithType(slate, 'trigger', params.actionId);\n\n if (!action.pollEvents) {\n throw new ServiceError(\n badRequestError({\n message: `Trigger action does not support polling: ${params.actionId}`\n })\n );\n }\n\n let res = await action.pollEvents(\n new SlateContext(\n ctx.config,\n { state: params.state },\n ctx.auth?.output!,\n slate.spec,\n logger\n )\n );\n\n return { inputs: res.inputs, updatedState: res.updatedState };\n });\n\n manager.onRequest('slates/action.trigger.webhook_handle', async ({ params }) => {\n let ctx = getContextFull();\n let action = getActionWithType(slate, 'trigger', params.actionId);\n\n if (!action.handleRequest) {\n throw new ServiceError(\n badRequestError({\n message: `Trigger action does not support webhook requests: ${params.actionId}`\n })\n );\n }\n\n let req = new Request(params.url, {\n method: params.method,\n headers: params.headers,\n body: params.body\n ? Uint8Array.from(atob(params.body.content), c => c.charCodeAt(0))\n : null\n });\n\n let res = await action.handleRequest(\n new SlateContext(\n ctx.config,\n { request: req, state: params.state },\n ctx.auth?.output!,\n slate.spec,\n logger\n )\n );\n\n return { inputs: res.inputs, updatedState: res.updatedState };\n });\n\n manager.onRequest('slates/action.trigger.webhook_register', async ({ params }) => {\n let ctx = getContextFull();\n let action = getActionWithType(slate, 'trigger', params.actionId);\n\n if (!action.autoRegisterWebhook) {\n throw new ServiceError(\n badRequestError({\n message: `Trigger action does not support webhook auto-registration: ${params.actionId}`\n })\n );\n }\n\n let res = await action.autoRegisterWebhook(\n new SlateContext(\n ctx.config,\n { webhookBaseUrl: params.webhookBaseUrl },\n ctx.auth?.output!,\n slate.spec,\n logger\n )\n );\n\n return { registrationDetails: res.registrationDetails, state: res.state };\n });\n\n manager.onRequest('slates/action.trigger.webhook_unregister', async ({ params }) => {\n let ctx = getContextFull();\n let action = getActionWithType(slate, 'trigger', params.actionId);\n\n if (!action.autoUnregisterWebhook) {\n throw new ServiceError(\n badRequestError({\n message: `Trigger action does not support webhook auto-unregistration: ${params.actionId}`\n })\n );\n }\n\n await action.autoUnregisterWebhook(\n new SlateContext(\n ctx.config,\n {\n webhookBaseUrl: params.webhookBaseUrl,\n registrationDetails: params.registrationDetails,\n state: params.state\n },\n ctx.auth?.output!,\n slate.spec,\n logger\n )\n );\n\n return {};\n });\n });\n"],"names":["validate","schema","data","entity","message","result","safeParse","success","ServiceError","e","validationError","errors","issues","map","i","_extends","path","p","String","zodToValidationError","error","toJsonSchema","toJSONSchema","unrepresentable","override","ctx","def","zodSchema","_zod","type","jsonSchema","format","getAuthMethod","slate","authenticationMethodId","authMethod","spec","auth","authStack","find","m","key","badRequestError","mapAuthMethod","_m$inputSchema","id","name","scopes","s","scope","title","description","undefined","inputSchema","z","object","outputSchema","capabilities","getDefaultInput","enabled","handleTokenRefresh","handleChangedInput","onInputChanged","getProfile","getAction","actionId","action","actions","notFoundError","getActionWithType","mapAction","a","_a$polling$intervalIn","instructions","constraints","tags","metadata","invocation","source","intervalSeconds","polling","intervalInSeconds","SlateDefaultPollingIntervalSeconds","autoRegistration","autoRegisterWebhook","autoUnregistration","autoUnregisterWebhook","State","initialValue","Object","defineProperty","_value","writable","value","_classPrivateFieldLooseBase","_proto","prototype","_createClass","get","this","set","listeners","createSlatesProviderProtoHandler","manager","protocol","participants","config","session","logger","SlateLogger","getContextBasic","currentProtocol","currentParticipants","preconditionFailedError","getContextFull","basic","currentConfig","currentSession","currentAuth","length","onNotification","_ref","params","Promise","resolve","reject","_ref2","_ref3","valRes","authSchema","output","_ref4","configSchema","_ref5","sessionId","state","onRequest","_ref6","newConfig","configChanged","handlers","previousConfig","then","updatedConfig","_updatedConfig$config","_ref7","getDefaultConfig","defaultConfig","_ref8","_ref9","provider","parameters","_ref0","authenticationMethods","_ref1","authenticationMethod","_ref10","_authMethod$getDefaul","input","_ref11","previousInput","newInput","updatedInput","_updatedInput$input","_ref12","_exit","_temp2","_result","_temp","getOutput","outputRes","_output","_ref13","_temp4","_exit2","_result2","_temp3","handleCallback","code","redirectUri","clientId","clientSecret","callbackRes","_output$input","_ref14","_exit3","_temp6","_result3","_temp5","getAuthorizationUrl","urlRes","_authorizationUrl$inp","authorizationUrl","url","_ref15","_temp8","_exit4","_result4","_temp7","profileRes","profile","_ref16","_exit5","_temp0","_result5","_temp9","refreshRes","_ref17","_ref18","_ref19","_ctx$auth","handleInvocation","SlateContext","res","_ref20","_ctx$auth2","handleEvent","_ref21","_ctx$auth3","pollEvents","inputs","updatedState","_ref22","_ctx$auth4","handleRequest","req","Request","method","headers","body","Uint8Array","from","atob","content","c","charCodeAt","request","_ref23","_ctx$auth5","webhookBaseUrl","registrationDetails","_ref24","_ctx$auth6"],"mappings":"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"}
|
package/dist/index.module.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{ServiceError as t,badRequestError as e,notFoundError as n,validationError as r,preconditionFailedError as o}from"@lowerdeck/error";import{createSlatesProviderProtoHandler as i}from"@slates/proto";import{SlateDefaultPollingIntervalSeconds as a,SlateLogger as u,SlateContext as s}from"@slates/provider";import c from"zod";function h(t,e){if(!{}.hasOwnProperty.call(t,e))throw new TypeError("attempted to use private field on non-instance");return t}var l=0;function p(t){return"__private_"+l+++"_"+t}function f(){return f=Object.assign?Object.assign.bind():function(t){for(var e=1;e<arguments.length;e++){var n=arguments[e];for(var r in n)({}).hasOwnProperty.call(n,r)&&(t[r]=n[r])}return t},f.apply(null,arguments)}function d(t){var e=function(t){if("object"!=typeof t||!t)return t;var e=t[Symbol.toPrimitive];if(void 0!==e){var n=e.call(t,"string");if("object"!=typeof n)return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(t)}(t);return"symbol"==typeof e?e:e+""}var m=function(n,r){var o=n.spec.auth.authStack.find(function(t){return t.key==r});if(!o)throw new t(e({message:"Invalid authentication method ID: "+r}));return o},v=function(t,e){var n;return{id:e.key,name:e.name,type:e.type,scopes:"scopes"in e?e.scopes.map(function(t){return{id:t.scope,title:t.title,description:t.description}}):void 0,inputSchema:(null!=(n=e.inputSchema)?n:c.object({})).toJSONSchema(),outputSchema:t.spec.auth.outputSchema.toJSONSchema(),capabilities:{getDefaultInput:{enabled:!(!("getDefaultInput"in e)||!e.getDefaultInput)},handleTokenRefresh:{enabled:!(!("handleTokenRefresh"in e)||!e.handleTokenRefresh)},handleChangedInput:{enabled:!!e.onInputChanged},getProfile:{enabled:!!e.getProfile}}}},g=function(e,r){var o=e.actions.find(function(t){return t.key==r});if(!o)throw new t(n("action",r));return o},P=function(n,r,o){var i=g(n,o);if(i.type!=r)throw new t(e({message:"Action with ID "+o+" is not of type "+r}));return i},w=function(t,e){var n;return f({},{id:e.key,name:e.name,description:e.description,instructions:e.instructions,constraints:e.constraints,tags:e.tags,metadata:e.metadata,inputSchema:e.inputSchema.toJSONSchema(),outputSchema:e.outputSchema.toJSONSchema()},"tool"==e.type?{type:"action.tool",capabilities:{}}:{type:"action.trigger",capabilities:{},invocation:"polling"==e.source?{type:"polling",intervalSeconds:null!=(n=e.polling.intervalInSeconds)?n:a}:{type:"webhook",autoRegistration:!!e.autoRegisterWebhook,autoUnregistration:!!e.autoUnregisterWebhook}})},y=/*#__PURE__*/p("value"),I=/*#__PURE__*/function(){function t(t){Object.defineProperty(this,y,{writable:!0,value:void 0}),h(this,y)[y]=t}var e,n,r=t.prototype;return r.get=function(){return h(this,y)[y]},r.set=function(t){h(this,y)[y]=t},e=t,(n=[{key:"value",get:function(){return h(this,y)[y]}}])&&function(t,e){for(var n=0;n<e.length;n++){var r=e[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,d(r.key),r)}}(e.prototype,n),Object.defineProperty(e,"prototype",{writable:!1}),e}(),b=function(e,n,o,i){var a=e.safeParse(n);if(!a.success)throw new t(function(t,e,n){return r({message:e,entity:t,errors:n.issues.map(function(t){return f({},t,{path:t.path.map(function(t){return String(t)})})})})}(o,i,a.error));return a.data},S=function(n,r){return i(function(i){try{var a=new I(null),c=new I(null),h=new I(null),l=new I(null),p=new I(null),d=new u(r),y=function(){var e=a.get(),n=c.get();if(!e||!n)throw new t(o({message:"Connection context has not been initialized"}));return{protocol:e,participants:n}},S=function(){var e=y(),r=l.get(),i=p.get(),a=h.get();if(!r||!i||!a&&n.spec.auth.authStack.length>0)throw new t(o({message:"Session context has not been initialized"}));return f({},e,{config:r.value,session:i,auth:a})};return i.onNotification("slates/hello",function(t){var e=t.params;try{return a.set(e.protocol),Promise.resolve()}catch(t){return Promise.reject(t)}}),i.onNotification("slates/participant.set",function(e){var n=e.params;try{if(!a.get())throw new t(o({message:"Connection protocol has not been initialized"}));return c.set(n.participants),Promise.resolve()}catch(t){return Promise.reject(t)}}),i.onNotification("slates/auth.set",function(t){var e=t.params;try{y(),m(n,e.authenticationMethodId);var r=b(n.spec.authSchema,e.output,"auth","Invalid authentication output for method ID: "+e.authenticationMethodId);return h.set({authenticationMethodId:e.authenticationMethodId,output:r}),Promise.resolve()}catch(t){return Promise.reject(t)}}),i.onNotification("slates/config.set",function(t){var e=t.params;try{y();var r=b(n.spec.configSchema,e.config,"config","Invalid configuration");return l.set({value:r}),Promise.resolve()}catch(t){return Promise.reject(t)}}),i.onNotification("slates/session.start",function(t){var e=t.params;try{return y(),p.set({id:e.sessionId,state:e.state}),Promise.resolve()}catch(t){return Promise.reject(t)}}),i.onRequest("slates/config.changed",function(t){var e=t.params;try{y();var r=b(n.spec.config.configSchema,e.newConfig,"config","Invalid configuration"),o=n.spec.config.handlers.configChanged;return o?Promise.resolve(o({previousConfig:e.previousConfig,newConfig:r})).then(function(t){var e;return{success:!0,config:null!=(e=null==t?void 0:t.config)?e:r}}):Promise.resolve({success:!0,config:r})}catch(t){return Promise.reject(t)}}),i.onRequest("slates/config.get_default",function(t){try{y();var e=n.spec.config.handlers.getDefaultConfig;return e?Promise.resolve(e()).then(function(t){return{config:t}}):Promise.resolve({config:null})}catch(t){return Promise.reject(t)}}),i.onRequest("slates/config.schema.get",function(t){try{return y(),Promise.resolve({schema:n.spec.configSchema.toJSONSchema()})}catch(t){return Promise.reject(t)}}),i.onRequest("slates/provider.identify",function(t){try{return y(),Promise.resolve({protocol:"slates@2026-01-01",provider:{type:"provider",id:n.spec.key,name:n.spec.name,description:n.spec.description,metadata:n.spec.parameters.metadata}})}catch(t){return Promise.reject(t)}}),i.onRequest("slates/auth.methods.list",function(t){try{return y(),Promise.resolve({authenticationMethods:n.spec.auth.authStack.map(function(t){return v(n,t)})})}catch(t){return Promise.reject(t)}}),i.onRequest("slates/auth.method.get",function(t){var e=t.params;try{y();var r=m(n,e.authenticationMethodId);return Promise.resolve({authenticationMethod:v(n,r)})}catch(t){return Promise.reject(t)}}),i.onRequest("slates/auth.input.get_default",function(t){var e=t.params;try{y();var r=m(n,e.authenticationMethodId);return r.getDefaultInput?Promise.resolve(r.getDefaultInput()).then(function(t){return{input:t}}):Promise.resolve({input:null})}catch(t){return Promise.reject(t)}}),i.onRequest("slates/auth.input.changed",function(t){var e=t.params;try{y();var r=m(n,e.authenticationMethodId);return r.onInputChanged?Promise.resolve(r.onInputChanged({previousInput:e.previousInput,newInput:e.newInput})).then(function(t){var n;return{success:!0,input:null!=(n=null==t?void 0:t.input)?n:e.newInput}}):Promise.resolve({success:!0,input:e.newInput})}catch(t){return Promise.reject(t)}}),i.onRequest("slates/auth.output.get",function(t){var e=t.params;try{var r,o=function(t){return r?t:{output:a}};y();var i=m(n,e.authenticationMethodId),a=e.input;i.inputSchema&&(a=b(i.inputSchema,a,"auth","Invalid authentication input for method ID: "+e.authenticationMethodId));var u=function(){if("getOutput"in i)return Promise.resolve(i.getOutput({input:a})).then(function(t){return r=1,{output:t.output}})}();return Promise.resolve(u&&u.then?u.then(o):o(u))}catch(t){return Promise.reject(t)}}),i.onRequest("slates/auth.authorization_callback.handle",function(e){var r=e.params;try{var i,a=function(e){if(i)return e;throw new t(o({message:"Authentication method does not support authorization callback handling: "+r.authenticationMethodId}))};y();var u=m(n,r.authenticationMethodId),s=function(){if("handleCallback"in u)return Promise.resolve(u.handleCallback({code:r.code,state:r.state,redirectUri:r.redirectUri,input:r.input,clientId:r.clientId,clientSecret:r.clientSecret,scopes:r.scopes})).then(function(t){return i=1,{output:t.output,input:t.input}})}();return Promise.resolve(s&&s.then?s.then(a):a(s))}catch(t){return Promise.reject(t)}}),i.onRequest("slates/auth.authorization_url.get",function(e){var r=e.params;try{var i,a=function(e){if(i)return e;throw new t(o({message:"Authentication method does not support authorization URL retrieval: "+r.authenticationMethodId}))};y();var u=m(n,r.authenticationMethodId),s=function(){if("getAuthorizationUrl"in u)return Promise.resolve(u.getAuthorizationUrl({redirectUri:r.redirectUri,state:r.state,input:r.input,clientId:r.clientId,clientSecret:r.clientSecret,scopes:r.scopes})).then(function(t){return i=1,{authorizationUrl:t.url,input:t.input}})}();return Promise.resolve(s&&s.then?s.then(a):a(s))}catch(t){return Promise.reject(t)}}),i.onRequest("slates/auth.profile.get",function(e){var r=e.params;try{var i,a=function(e){if(i)return e;throw new t(o({message:"Authentication method does not support profile retrieval: "+r.authenticationMethodId}))};y();var u=m(n,r.authenticationMethodId),s=function(){if(u.getProfile)return Promise.resolve(u.getProfile({output:r.output,input:r.input,scopes:r.scopes})).then(function(t){return i=1,{profile:t.profile}})}();return Promise.resolve(s&&s.then?s.then(a):a(s))}catch(t){return Promise.reject(t)}}),i.onRequest("slates/auth.token_refresh.handle",function(e){var r=e.params;try{var i,a=function(e){if(i)return e;throw new t(o({message:"Authentication method does not support token refresh handling: "+r.authenticationMethodId}))};y();var u=m(n,r.authenticationMethodId),s=function(){if("handleTokenRefresh"in u&&u.handleTokenRefresh)return Promise.resolve(u.handleTokenRefresh({output:r.output,input:r.input,clientId:r.clientId,clientSecret:r.clientSecret,scopes:r.scopes})).then(function(t){return i=1,{output:t.output,input:t.input}})}();return Promise.resolve(s&&s.then?s.then(a):a(s))}catch(t){return Promise.reject(t)}}),i.onRequest("slates/actions.list",function(t){try{return y(),Promise.resolve({actions:n.actions.map(function(t){return w(0,t)})})}catch(t){return Promise.reject(t)}}),i.onRequest("slates/action.get",function(t){var e=t.params;try{y();var r=g(n,e.actionId);return Promise.resolve({action:w(0,r)})}catch(t){return Promise.reject(t)}}),i.onRequest("slates/action.tool.invoke",function(t){var e=t.params;try{var r,o=S(),i=P(n,"tool",e.actionId),a=b(i.inputSchema,e.input,"input","Invalid input for tool ID: "+e.actionId);return Promise.resolve(i.handleInvocation(new s(o.config,a,null==(r=o.auth)?void 0:r.output,n.spec,d))).then(function(t){return{output:t.output,message:t.message}})}catch(t){return Promise.reject(t)}}),i.onRequest("slates/action.trigger.map_event",function(t){var e=t.params;try{var r,o=S(),i=P(n,"trigger",e.actionId),a=b(i.inputSchema,e.input,"input","Invalid event for trigger ID: "+e.actionId);return Promise.resolve(i.handleEvent(new s(o.config,a,null==(r=o.auth)?void 0:r.output,n.spec,d))).then(function(t){return{id:t.id,type:t.type,output:t.output}})}catch(t){return Promise.reject(t)}}),i.onRequest("slates/action.trigger.poll_events",function(r){var o=r.params;try{var i,a=S(),u=P(n,"trigger",o.actionId);if(!u.pollEvents)throw new t(e({message:"Trigger action does not support polling: "+o.actionId}));return Promise.resolve(u.pollEvents(new s(a.config,{state:o.state},null==(i=a.auth)?void 0:i.output,n.spec,d))).then(function(t){return{inputs:t.inputs,updatedState:t.updatedState}})}catch(t){return Promise.reject(t)}}),i.onRequest("slates/action.trigger.webhook_handle",function(r){var o=r.params;try{var i,a=S(),u=P(n,"trigger",o.actionId);if(!u.handleRequest)throw new t(e({message:"Trigger action does not support webhook requests: "+o.actionId}));var c=new Request(o.url,{method:o.method,headers:o.headers,body:o.body?Uint8Array.from(atob(o.body.content),function(t){return t.charCodeAt(0)}):null});return Promise.resolve(u.handleRequest(new s(a.config,{request:c,state:o.state},null==(i=a.auth)?void 0:i.output,n.spec,d))).then(function(t){return{inputs:t.inputs,updatedState:t.updatedState}})}catch(t){return Promise.reject(t)}}),i.onRequest("slates/action.trigger.webhook_register",function(r){var o=r.params;try{var i,a=S(),u=P(n,"trigger",o.actionId);if(!u.autoRegisterWebhook)throw new t(e({message:"Trigger action does not support webhook auto-registration: "+o.actionId}));return Promise.resolve(u.autoRegisterWebhook(new s(a.config,{webhookBaseUrl:o.webhookBaseUrl},null==(i=a.auth)?void 0:i.output,n.spec,d))).then(function(t){return{registrationDetails:t.registrationDetails,state:t.state}})}catch(t){return Promise.reject(t)}}),i.onRequest("slates/action.trigger.webhook_unregister",function(r){var o=r.params;try{var i,a=S(),u=P(n,"trigger",o.actionId);if(!u.autoUnregisterWebhook)throw new t(e({message:"Trigger action does not support webhook auto-unregistration: "+o.actionId}));return Promise.resolve(u.autoUnregisterWebhook(new s(a.config,{webhookBaseUrl:o.webhookBaseUrl,registrationDetails:o.registrationDetails,state:o.state},null==(i=a.auth)?void 0:i.output,n.spec,d))).then(function(){return{}})}catch(t){return Promise.reject(t)}}),Promise.resolve()}catch(t){return Promise.reject(t)}})};export{S as createProviderHandler};
|
|
1
|
+
import{ServiceError as t,validationError as e,badRequestError as n,notFoundError as r,preconditionFailedError as o}from"@lowerdeck/error";import{createSlatesProviderProtoHandler as i}from"@slates/proto";import{SlateDefaultPollingIntervalSeconds as a,SlateLogger as u,SlateContext as s}from"@slates/provider";import c from"zod";function l(t,e){if(!{}.hasOwnProperty.call(t,e))throw new TypeError("attempted to use private field on non-instance");return t}var h=0;function p(t){return"__private_"+h+++"_"+t}function f(){return f=Object.assign?Object.assign.bind():function(t){for(var e=1;e<arguments.length;e++){var n=arguments[e];for(var r in n)({}).hasOwnProperty.call(n,r)&&(t[r]=n[r])}return t},f.apply(null,arguments)}function d(t){var e=function(t){if("object"!=typeof t||!t)return t;var e=t[Symbol.toPrimitive];if(void 0!==e){var n=e.call(t,"string");if("object"!=typeof n)return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(t)}(t);return"symbol"==typeof e?e:e+""}var m=function(n,r,o,i){var a=n.safeParse(r);if(!a.success)throw new t(function(t,n,r){return e({message:n,entity:t,errors:r.issues.map(function(t){return f({},t,{path:t.path.map(function(t){return String(t)})})})})}(o,i,a.error));return a.data},v=function(t){return t.toJSONSchema({unrepresentable:"any",override:function(t){var e=t.zodSchema._zod.def;"date"===e.type&&(t.jsonSchema.type="string",t.jsonSchema.format="date-time"),"bigint"===e.type&&(t.jsonSchema.type="number")}})},g=function(e,r){var o=e.spec.auth.authStack.find(function(t){return t.key==r});if(!o)throw new t(n({message:"Invalid authentication method ID: "+r}));return o},P=function(t,e){var n;return{id:e.key,name:e.name,type:e.type,scopes:"scopes"in e?e.scopes.map(function(t){return{id:t.scope,title:t.title,description:t.description}}):void 0,inputSchema:v(null!=(n=e.inputSchema)?n:c.object({})),outputSchema:v(t.spec.auth.outputSchema),capabilities:{getDefaultInput:{enabled:!(!("getDefaultInput"in e)||!e.getDefaultInput)},handleTokenRefresh:{enabled:!(!("handleTokenRefresh"in e)||!e.handleTokenRefresh)},handleChangedInput:{enabled:!!e.onInputChanged},getProfile:{enabled:!!e.getProfile}}}},y=function(e,n){var o=e.actions.find(function(t){return t.key==n});if(!o)throw new t(r("action",n));return o},w=function(e,r,o){var i=y(e,o);if(i.type!=r)throw new t(n({message:"Action with ID "+o+" is not of type "+r}));return i},I=function(t,e){var n;return f({},{id:e.key,name:e.name,description:e.description,instructions:e.instructions,constraints:e.constraints,tags:e.tags,metadata:e.metadata,inputSchema:v(e.inputSchema),outputSchema:v(e.outputSchema)},"tool"==e.type?{type:"action.tool",capabilities:{}}:{type:"action.trigger",capabilities:{},invocation:"polling"==e.source?{type:"polling",intervalSeconds:null!=(n=e.polling.intervalInSeconds)?n:a}:{type:"webhook",autoRegistration:!!e.autoRegisterWebhook,autoUnregistration:!!e.autoUnregisterWebhook}})},b=/*#__PURE__*/p("value"),k=/*#__PURE__*/function(){function t(t){Object.defineProperty(this,b,{writable:!0,value:void 0}),l(this,b)[b]=t}var e,n,r=t.prototype;return r.get=function(){return l(this,b)[b]},r.set=function(t){l(this,b)[b]=t},e=t,(n=[{key:"value",get:function(){return l(this,b)[b]}}])&&function(t,e){for(var n=0;n<e.length;n++){var r=e[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,d(r.key),r)}}(e.prototype,n),Object.defineProperty(e,"prototype",{writable:!1}),e}(),S=function(e,r){return i(function(i){try{var a=new k(null),c=new k(null),l=new k(null),h=new k(null),p=new k(null),d=new u(r),b=function(){var e=a.get(),n=c.get();if(!e||!n)throw new t(o({message:"Connection context has not been initialized"}));return{protocol:e,participants:n}},S=function(){var n=b(),r=h.get(),i=p.get(),a=l.get();if(!r||!i||!a&&e.spec.auth.authStack.length>0)throw new t(o({message:"Session context has not been initialized"}));return f({},n,{config:r.value,session:i,auth:a})};return i.onNotification("slates/hello",function(t){var e=t.params;try{return a.set(e.protocol),Promise.resolve()}catch(t){return Promise.reject(t)}}),i.onNotification("slates/participant.set",function(e){var n=e.params;try{if(!a.get())throw new t(o({message:"Connection protocol has not been initialized"}));return c.set(n.participants),Promise.resolve()}catch(t){return Promise.reject(t)}}),i.onNotification("slates/auth.set",function(t){var n=t.params;try{b(),g(e,n.authenticationMethodId);var r=m(e.spec.authSchema,n.output,"auth","Invalid authentication output for method ID: "+n.authenticationMethodId);return l.set({authenticationMethodId:n.authenticationMethodId,output:r}),Promise.resolve()}catch(t){return Promise.reject(t)}}),i.onNotification("slates/config.set",function(t){var n=t.params;try{b();var r=m(e.spec.configSchema,n.config,"config","Invalid configuration");return h.set({value:r}),Promise.resolve()}catch(t){return Promise.reject(t)}}),i.onNotification("slates/session.start",function(t){var e=t.params;try{return b(),p.set({id:e.sessionId,state:e.state}),Promise.resolve()}catch(t){return Promise.reject(t)}}),i.onRequest("slates/config.changed",function(t){var n=t.params;try{b();var r=m(e.spec.config.configSchema,n.newConfig,"config","Invalid configuration"),o=e.spec.config.handlers.configChanged;return o?Promise.resolve(o({previousConfig:n.previousConfig,newConfig:r})).then(function(t){var e;return{success:!0,config:null!=(e=null==t?void 0:t.config)?e:r}}):Promise.resolve({success:!0,config:r})}catch(t){return Promise.reject(t)}}),i.onRequest("slates/config.get_default",function(t){try{b();var n=e.spec.config.handlers.getDefaultConfig;return n?Promise.resolve(n()).then(function(t){return{config:t}}):Promise.resolve({config:null})}catch(t){return Promise.reject(t)}}),i.onRequest("slates/config.schema.get",function(t){try{return b(),Promise.resolve({schema:v(e.spec.configSchema)})}catch(t){return Promise.reject(t)}}),i.onRequest("slates/provider.identify",function(t){try{return b(),Promise.resolve({protocol:"slates@2026-01-01",provider:{type:"provider",id:e.spec.key,name:e.spec.name,description:e.spec.description,metadata:e.spec.parameters.metadata}})}catch(t){return Promise.reject(t)}}),i.onRequest("slates/auth.methods.list",function(t){try{return b(),Promise.resolve({authenticationMethods:e.spec.auth.authStack.map(function(t){return P(e,t)})})}catch(t){return Promise.reject(t)}}),i.onRequest("slates/auth.method.get",function(t){var n=t.params;try{b();var r=g(e,n.authenticationMethodId);return Promise.resolve({authenticationMethod:P(e,r)})}catch(t){return Promise.reject(t)}}),i.onRequest("slates/auth.input.get_default",function(t){var n=t.params;try{b();var r=g(e,n.authenticationMethodId);return r.getDefaultInput?Promise.resolve(r.getDefaultInput()).then(function(t){return{input:t}}):Promise.resolve({input:null})}catch(t){return Promise.reject(t)}}),i.onRequest("slates/auth.input.changed",function(t){var n=t.params;try{b();var r=g(e,n.authenticationMethodId);return r.onInputChanged?Promise.resolve(r.onInputChanged({previousInput:n.previousInput,newInput:n.newInput})).then(function(t){var e;return{success:!0,input:null!=(e=null==t?void 0:t.input)?e:n.newInput}}):Promise.resolve({success:!0,input:n.newInput})}catch(t){return Promise.reject(t)}}),i.onRequest("slates/auth.output.get",function(t){var n=t.params;try{var r,o=function(t){return r?t:{output:a}};b();var i=g(e,n.authenticationMethodId),a=n.input;i.inputSchema&&(a=m(i.inputSchema,a,"auth","Invalid authentication input for method ID: "+n.authenticationMethodId));var u=function(){if("getOutput"in i)return Promise.resolve(i.getOutput({input:a})).then(function(t){return r=1,{output:t.output}})}();return Promise.resolve(u&&u.then?u.then(o):o(u))}catch(t){return Promise.reject(t)}}),i.onRequest("slates/auth.authorization_callback.handle",function(n){var r=n.params;try{var i,a=function(e){if(i)return e;throw new t(o({message:"Authentication method does not support authorization callback handling: "+r.authenticationMethodId}))};b();var u=g(e,r.authenticationMethodId),s=function(){if("handleCallback"in u)return Promise.resolve(u.handleCallback({code:r.code,state:r.state,redirectUri:r.redirectUri,input:r.input,clientId:r.clientId,clientSecret:r.clientSecret,scopes:r.scopes})).then(function(t){return i=1,{output:t.output,input:t.input}})}();return Promise.resolve(s&&s.then?s.then(a):a(s))}catch(t){return Promise.reject(t)}}),i.onRequest("slates/auth.authorization_url.get",function(n){var r=n.params;try{var i,a=function(e){if(i)return e;throw new t(o({message:"Authentication method does not support authorization URL retrieval: "+r.authenticationMethodId}))};b();var u=g(e,r.authenticationMethodId),s=function(){if("getAuthorizationUrl"in u)return Promise.resolve(u.getAuthorizationUrl({redirectUri:r.redirectUri,state:r.state,input:r.input,clientId:r.clientId,clientSecret:r.clientSecret,scopes:r.scopes})).then(function(t){return i=1,{authorizationUrl:t.url,input:t.input}})}();return Promise.resolve(s&&s.then?s.then(a):a(s))}catch(t){return Promise.reject(t)}}),i.onRequest("slates/auth.profile.get",function(n){var r=n.params;try{var i,a=function(e){if(i)return e;throw new t(o({message:"Authentication method does not support profile retrieval: "+r.authenticationMethodId}))};b();var u=g(e,r.authenticationMethodId),s=function(){if(u.getProfile)return Promise.resolve(u.getProfile({output:r.output,input:r.input,scopes:r.scopes})).then(function(t){return i=1,{profile:t.profile}})}();return Promise.resolve(s&&s.then?s.then(a):a(s))}catch(t){return Promise.reject(t)}}),i.onRequest("slates/auth.token_refresh.handle",function(n){var r=n.params;try{var i,a=function(e){if(i)return e;throw new t(o({message:"Authentication method does not support token refresh handling: "+r.authenticationMethodId}))};b();var u=g(e,r.authenticationMethodId),s=function(){if("handleTokenRefresh"in u&&u.handleTokenRefresh)return Promise.resolve(u.handleTokenRefresh({output:r.output,input:r.input,clientId:r.clientId,clientSecret:r.clientSecret,scopes:r.scopes})).then(function(t){return i=1,{output:t.output,input:t.input}})}();return Promise.resolve(s&&s.then?s.then(a):a(s))}catch(t){return Promise.reject(t)}}),i.onRequest("slates/actions.list",function(t){try{return b(),Promise.resolve({actions:e.actions.map(function(t){return I(0,t)})})}catch(t){return Promise.reject(t)}}),i.onRequest("slates/action.get",function(t){var n=t.params;try{b();var r=y(e,n.actionId);return Promise.resolve({action:I(0,r)})}catch(t){return Promise.reject(t)}}),i.onRequest("slates/action.tool.invoke",function(t){var n=t.params;try{var r,o=S(),i=w(e,"tool",n.actionId),a=m(i.inputSchema,n.input,"input","Invalid input for tool ID: "+n.actionId);return Promise.resolve(i.handleInvocation(new s(o.config,a,null==(r=o.auth)?void 0:r.output,e.spec,d))).then(function(t){return{output:t.output,message:t.message}})}catch(t){return Promise.reject(t)}}),i.onRequest("slates/action.trigger.map_event",function(t){var n=t.params;try{var r,o=S(),i=w(e,"trigger",n.actionId),a=m(i.inputSchema,n.input,"input","Invalid event for trigger ID: "+n.actionId);return Promise.resolve(i.handleEvent(new s(o.config,a,null==(r=o.auth)?void 0:r.output,e.spec,d))).then(function(t){return{id:t.id,type:t.type,output:t.output}})}catch(t){return Promise.reject(t)}}),i.onRequest("slates/action.trigger.poll_events",function(r){var o=r.params;try{var i,a=S(),u=w(e,"trigger",o.actionId);if(!u.pollEvents)throw new t(n({message:"Trigger action does not support polling: "+o.actionId}));return Promise.resolve(u.pollEvents(new s(a.config,{state:o.state},null==(i=a.auth)?void 0:i.output,e.spec,d))).then(function(t){return{inputs:t.inputs,updatedState:t.updatedState}})}catch(t){return Promise.reject(t)}}),i.onRequest("slates/action.trigger.webhook_handle",function(r){var o=r.params;try{var i,a=S(),u=w(e,"trigger",o.actionId);if(!u.handleRequest)throw new t(n({message:"Trigger action does not support webhook requests: "+o.actionId}));var c=new Request(o.url,{method:o.method,headers:o.headers,body:o.body?Uint8Array.from(atob(o.body.content),function(t){return t.charCodeAt(0)}):null});return Promise.resolve(u.handleRequest(new s(a.config,{request:c,state:o.state},null==(i=a.auth)?void 0:i.output,e.spec,d))).then(function(t){return{inputs:t.inputs,updatedState:t.updatedState}})}catch(t){return Promise.reject(t)}}),i.onRequest("slates/action.trigger.webhook_register",function(r){var o=r.params;try{var i,a=S(),u=w(e,"trigger",o.actionId);if(!u.autoRegisterWebhook)throw new t(n({message:"Trigger action does not support webhook auto-registration: "+o.actionId}));return Promise.resolve(u.autoRegisterWebhook(new s(a.config,{webhookBaseUrl:o.webhookBaseUrl},null==(i=a.auth)?void 0:i.output,e.spec,d))).then(function(t){return{registrationDetails:t.registrationDetails,state:t.state}})}catch(t){return Promise.reject(t)}}),i.onRequest("slates/action.trigger.webhook_unregister",function(r){var o=r.params;try{var i,a=S(),u=w(e,"trigger",o.actionId);if(!u.autoUnregisterWebhook)throw new t(n({message:"Trigger action does not support webhook auto-unregistration: "+o.actionId}));return Promise.resolve(u.autoUnregisterWebhook(new s(a.config,{webhookBaseUrl:o.webhookBaseUrl,registrationDetails:o.registrationDetails,state:o.state},null==(i=a.auth)?void 0:i.output,e.spec,d))).then(function(){return{}})}catch(t){return Promise.reject(t)}}),Promise.resolve()}catch(t){return Promise.reject(t)}})};export{S as createProviderHandler};
|
|
2
2
|
//# sourceMappingURL=index.module.js.map
|
package/dist/index.module.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.module.js","sources":["../src/spec.ts","../src/state.ts","../src/validation.ts","../src/index.ts"],"sourcesContent":["import { badRequestError, notFoundError, ServiceError } from '@lowerdeck/error';\nimport { SlateAuthenticationMethod, SlatesAction } from '@slates/proto';\nimport { Slate, SlateDefaultPollingIntervalSeconds } from '@slates/provider';\nimport z from 'zod';\n\nexport let getAuthMethod = <ConfigType extends {}, AuthType extends {}>(\n slate: Slate<ConfigType, AuthType>,\n authenticationMethodId: string\n) => {\n let authMethod = slate.spec.auth.authStack.find(m => m.key == authenticationMethodId);\n if (!authMethod) {\n throw new ServiceError(\n badRequestError({\n message: `Invalid authentication method ID: ${authenticationMethodId}`\n })\n );\n }\n\n return authMethod;\n};\n\nexport let mapAuthMethod = <ConfigType extends {}, AuthType extends {}>(\n slate: Slate<ConfigType, AuthType>,\n m: ReturnType<typeof getAuthMethod<ConfigType, AuthType>>\n): SlateAuthenticationMethod => ({\n id: m.key,\n name: m.name,\n type: m.type,\n\n scopes:\n 'scopes' in m\n ? m.scopes.map(s => ({\n id: s.scope,\n title: s.title,\n description: s.description\n }))\n : undefined,\n\n inputSchema: (m.inputSchema ?? z.object({})).toJSONSchema(),\n outputSchema: slate.spec.auth.outputSchema.toJSONSchema(),\n\n capabilities: {\n getDefaultInput: { enabled: !!('getDefaultInput' in m && m.getDefaultInput) },\n handleTokenRefresh: {\n enabled: !!('handleTokenRefresh' in m && m.handleTokenRefresh)\n },\n handleChangedInput: {\n enabled: !!m.onInputChanged\n },\n getProfile: { enabled: !!m.getProfile }\n }\n});\n\nexport let getAction = <ConfigType extends {}, AuthType extends {}>(\n slate: Slate<ConfigType, AuthType>,\n actionId: string\n) => {\n let action = slate.actions.find(m => m.key == actionId);\n if (!action) {\n throw new ServiceError(notFoundError(`action`, actionId));\n }\n\n return action;\n};\n\nexport let getActionWithType = <\n Type extends 'tool' | 'trigger',\n ConfigType extends {},\n AuthType extends {}\n>(\n slate: Slate<ConfigType, AuthType>,\n type: Type,\n actionId: string\n): ReturnType<typeof getAction<ConfigType, AuthType>> & { type: Type } => {\n let action = getAction(slate, actionId);\n if (action.type != type) {\n throw new ServiceError(\n badRequestError({\n message: `Action with ID ${actionId} is not of type ${type}`\n })\n );\n }\n\n return action as any;\n};\n\nexport let mapAction = <ConfigType extends {}, AuthType extends {}>(\n slate: Slate<ConfigType, AuthType>,\n a: ReturnType<typeof getAction<ConfigType, AuthType>>\n): SlatesAction => {\n let base = {\n id: a.key,\n name: a.name,\n description: a.description,\n instructions: a.instructions,\n constraints: a.constraints,\n tags: a.tags,\n metadata: a.metadata,\n\n inputSchema: a.inputSchema.toJSONSchema(),\n outputSchema: a.outputSchema.toJSONSchema()\n };\n\n if (a.type == 'tool') {\n return {\n ...base,\n type: 'action.tool',\n capabilities: {}\n };\n }\n\n return {\n ...base,\n type: 'action.trigger',\n capabilities: {},\n\n invocation:\n a.source == 'polling'\n ? {\n type: 'polling',\n intervalSeconds: a.polling.intervalInSeconds ?? SlateDefaultPollingIntervalSeconds\n }\n : {\n type: 'webhook',\n autoRegistration: !!a.autoRegisterWebhook,\n autoUnregistration: !!a.autoUnregisterWebhook\n }\n };\n};\n","export class State<T> {\n #value: T;\n\n get value() {\n return this.#value;\n }\n\n get() {\n return this.#value;\n }\n\n set(value: T) {\n this.#value = value;\n }\n\n constructor(initialValue: T) {\n this.#value = initialValue;\n }\n}\n","import { ServiceError, validationError } from '@lowerdeck/error';\nimport z from 'zod';\n\nexport let zodToValidationError = (entity: string, message: string, e: z.ZodError) => {\n return validationError({\n message,\n entity,\n errors: e.issues.map(i => ({\n ...i,\n path: i.path.map(p => String(p))\n }))\n });\n};\n\nexport let validate = <T>(\n schema: z.ZodType<T>,\n data: unknown,\n entity: string,\n message: string\n): T => {\n let result = schema.safeParse(data);\n if (!result.success) {\n throw new ServiceError(zodToValidationError(entity, message, result.error));\n }\n\n return result.data;\n};\n","import { badRequestError, preconditionFailedError, ServiceError } from '@lowerdeck/error';\nimport { createSlatesProviderProtoHandler, SlatesParticipant } from '@slates/proto';\nimport { Slate, SlateContext, SlateLogger, SlateLogListener } from '@slates/provider';\nimport { getAction, getActionWithType, getAuthMethod, mapAction, mapAuthMethod } from './spec';\nimport { State } from './state';\nimport { validate } from './validation';\n\nexport let createProviderHandler = <ConfigType extends {}, AuthType extends {}>(\n slate: Slate<ConfigType, AuthType>,\n listeners: SlateLogListener[]\n) =>\n createSlatesProviderProtoHandler(async manager => {\n let protocol = new State<string | null>(null);\n let participants = new State<SlatesParticipant[] | null>(null);\n\n let auth = new State<{ authenticationMethodId: string; output: AuthType } | null>(null);\n let config = new State<{ value: ConfigType } | null>(null);\n\n let session = new State<{ id: string; state: any } | null>(null);\n\n let logger = new SlateLogger(listeners);\n\n let getContextBasic = () => {\n let currentProtocol = protocol.get();\n let currentParticipants = participants.get();\n\n if (!currentProtocol || !currentParticipants) {\n throw new ServiceError(\n preconditionFailedError({\n message: 'Connection context has not been initialized'\n })\n );\n }\n\n return {\n protocol: currentProtocol,\n participants: currentParticipants\n };\n };\n\n let getContextFull = () => {\n let basic = getContextBasic();\n\n let currentConfig = config.get();\n let currentSession = session.get();\n let currentAuth = auth.get();\n\n if (\n !currentConfig ||\n !currentSession ||\n (!currentAuth && slate.spec.auth.authStack.length > 0)\n ) {\n throw new ServiceError(\n preconditionFailedError({\n message: 'Session context has not been initialized'\n })\n );\n }\n\n return {\n ...basic,\n config: currentConfig.value,\n session: currentSession,\n auth: currentAuth\n };\n };\n\n manager.onNotification('slates/hello', async ({ params }) => {\n protocol.set(params.protocol);\n });\n\n manager.onNotification('slates/participant.set', async ({ params }) => {\n if (!protocol.get()) {\n throw new ServiceError(\n preconditionFailedError({ message: 'Connection protocol has not been initialized' })\n );\n }\n\n participants.set(params.participants);\n });\n\n manager.onNotification('slates/auth.set', async ({ params }) => {\n getContextBasic();\n getAuthMethod(slate, params.authenticationMethodId); // validate method ID\n\n let valRes = validate(\n slate.spec.authSchema,\n params.output,\n 'auth',\n `Invalid authentication output for method ID: ${params.authenticationMethodId}`\n );\n\n auth.set({\n authenticationMethodId: params.authenticationMethodId,\n output: valRes\n });\n });\n\n manager.onNotification('slates/config.set', async ({ params }) => {\n getContextBasic();\n\n let value = validate(\n slate.spec.configSchema,\n params.config,\n 'config',\n 'Invalid configuration'\n );\n\n config.set({ value });\n });\n\n manager.onNotification('slates/session.start', async ({ params }) => {\n getContextBasic();\n\n session.set({\n id: params.sessionId,\n state: params.state\n });\n });\n\n manager.onRequest('slates/config.changed', async ({ params }) => {\n getContextBasic();\n\n let newConfig = validate(\n slate.spec.config.configSchema,\n params.newConfig,\n 'config',\n 'Invalid configuration'\n );\n\n let configChanged = slate.spec.config.handlers.configChanged;\n if (!configChanged) {\n return { success: true, config: newConfig };\n }\n\n let updatedConfig = await configChanged({\n previousConfig: params.previousConfig as ConfigType | null,\n newConfig\n });\n\n return { success: true, config: updatedConfig?.config ?? newConfig };\n });\n\n manager.onRequest('slates/config.get_default', async ({ params }) => {\n getContextBasic();\n\n let getDefaultConfig = slate.spec.config.handlers.getDefaultConfig;\n if (!getDefaultConfig) {\n return { config: null };\n }\n\n let defaultConfig = await getDefaultConfig();\n return { config: defaultConfig };\n });\n\n manager.onRequest('slates/config.schema.get', async ({ params }) => {\n getContextBasic();\n\n return { schema: slate.spec.configSchema.toJSONSchema() };\n });\n\n manager.onRequest('slates/provider.identify', async ({ params }) => {\n getContextBasic();\n\n return {\n protocol: 'slates@2026-01-01',\n provider: {\n type: 'provider',\n id: slate.spec.key,\n name: slate.spec.name,\n description: slate.spec.description,\n metadata: slate.spec.parameters.metadata\n }\n };\n });\n\n manager.onRequest('slates/auth.methods.list', async ({ params }) => {\n getContextBasic();\n\n return {\n authenticationMethods: slate.spec.auth.authStack.map(m => mapAuthMethod(slate, m))\n };\n });\n\n manager.onRequest('slates/auth.method.get', async ({ params }) => {\n getContextBasic();\n let authMethod = getAuthMethod(slate, params.authenticationMethodId);\n\n return {\n authenticationMethod: mapAuthMethod(slate, authMethod)\n };\n });\n\n manager.onRequest('slates/auth.input.get_default', async ({ params }) => {\n getContextBasic();\n let authMethod = getAuthMethod(slate, params.authenticationMethodId);\n\n if (!authMethod.getDefaultInput) {\n return { input: null };\n }\n\n return { input: await authMethod.getDefaultInput() };\n });\n\n manager.onRequest('slates/auth.input.changed', async ({ params }) => {\n getContextBasic();\n let authMethod = getAuthMethod(slate, params.authenticationMethodId);\n\n if (!authMethod.onInputChanged) {\n return { success: true, input: params.newInput };\n }\n\n let updatedInput = await authMethod.onInputChanged({\n previousInput: params.previousInput as any | null,\n newInput: params.newInput\n });\n\n return { success: true, input: updatedInput?.input ?? params.newInput };\n });\n\n manager.onRequest('slates/auth.output.get', async ({ params }) => {\n getContextBasic();\n let authMethod = getAuthMethod(slate, params.authenticationMethodId);\n\n let input = params.input;\n\n if (authMethod.inputSchema) {\n input = validate(\n authMethod.inputSchema,\n input,\n 'auth',\n `Invalid authentication input for method ID: ${params.authenticationMethodId}`\n );\n }\n\n if ('getOutput' in authMethod) {\n let outputRes = await authMethod.getOutput({ input });\n return { output: outputRes.output };\n }\n\n return { output: input as any };\n });\n\n manager.onRequest('slates/auth.authorization_callback.handle', async ({ params }) => {\n getContextBasic();\n let authMethod = getAuthMethod(slate, params.authenticationMethodId);\n\n if ('handleCallback' in authMethod) {\n let callbackRes = await authMethod.handleCallback({\n code: params.code,\n state: params.state,\n redirectUri: params.redirectUri,\n input: params.input,\n clientId: params.clientId,\n clientSecret: params.clientSecret,\n scopes: params.scopes\n });\n\n return {\n output: callbackRes.output,\n input: callbackRes.input\n };\n }\n\n throw new ServiceError(\n preconditionFailedError({\n message: `Authentication method does not support authorization callback handling: ${params.authenticationMethodId}`\n })\n );\n });\n\n manager.onRequest('slates/auth.authorization_url.get', async ({ params }) => {\n getContextBasic();\n let authMethod = getAuthMethod(slate, params.authenticationMethodId);\n\n if ('getAuthorizationUrl' in authMethod) {\n let urlRes = await authMethod.getAuthorizationUrl({\n redirectUri: params.redirectUri,\n state: params.state,\n input: params.input,\n clientId: params.clientId,\n clientSecret: params.clientSecret,\n scopes: params.scopes\n });\n\n return {\n authorizationUrl: urlRes.url,\n input: urlRes.input\n };\n }\n\n throw new ServiceError(\n preconditionFailedError({\n message: `Authentication method does not support authorization URL retrieval: ${params.authenticationMethodId}`\n })\n );\n });\n\n manager.onRequest('slates/auth.profile.get', async ({ params }) => {\n getContextBasic();\n let authMethod = getAuthMethod(slate, params.authenticationMethodId);\n\n if (authMethod.getProfile) {\n let profileRes = await authMethod.getProfile({\n output: params.output as any,\n input: params.input,\n scopes: params.scopes\n });\n\n return {\n profile: profileRes.profile\n };\n }\n\n throw new ServiceError(\n preconditionFailedError({\n message: `Authentication method does not support profile retrieval: ${params.authenticationMethodId}`\n })\n );\n });\n\n manager.onRequest('slates/auth.token_refresh.handle', async ({ params }) => {\n getContextBasic();\n let authMethod = getAuthMethod(slate, params.authenticationMethodId);\n\n if ('handleTokenRefresh' in authMethod && authMethod.handleTokenRefresh) {\n let refreshRes = await authMethod.handleTokenRefresh({\n output: params.output as any,\n input: params.input,\n clientId: params.clientId,\n clientSecret: params.clientSecret,\n scopes: params.scopes\n });\n\n return {\n output: refreshRes.output,\n input: refreshRes.input\n };\n }\n\n throw new ServiceError(\n preconditionFailedError({\n message: `Authentication method does not support token refresh handling: ${params.authenticationMethodId}`\n })\n );\n });\n\n manager.onRequest('slates/actions.list', async ({ params }) => {\n getContextBasic();\n\n return {\n actions: slate.actions.map(a => mapAction(slate, a))\n };\n });\n\n manager.onRequest('slates/action.get', async ({ params }) => {\n getContextBasic();\n let action = getAction(slate, params.actionId);\n\n return {\n action: mapAction(slate, action)\n };\n });\n\n manager.onRequest('slates/action.tool.invoke', async ({ params }) => {\n let ctx = getContextFull();\n let action = getActionWithType(slate, 'tool', params.actionId);\n\n let input = validate(\n action.inputSchema,\n params.input,\n 'input',\n `Invalid input for tool ID: ${params.actionId}`\n );\n\n let res = await action.handleInvocation(\n new SlateContext(ctx.config, input, ctx.auth?.output!, slate.spec, logger)\n );\n\n return { output: res.output, message: res.message };\n });\n\n manager.onRequest('slates/action.trigger.map_event', async ({ params }) => {\n let ctx = getContextFull();\n let action = getActionWithType(slate, 'trigger', params.actionId);\n\n let input = validate(\n action.inputSchema,\n params.input,\n 'input',\n `Invalid event for trigger ID: ${params.actionId}`\n );\n\n let res = await action.handleEvent(\n new SlateContext(ctx.config, input, ctx.auth?.output!, slate.spec, logger)\n );\n\n return { id: res.id, type: res.type, output: res.output };\n });\n\n manager.onRequest('slates/action.trigger.poll_events', async ({ params }) => {\n let ctx = getContextFull();\n let action = getActionWithType(slate, 'trigger', params.actionId);\n\n if (!action.pollEvents) {\n throw new ServiceError(\n badRequestError({\n message: `Trigger action does not support polling: ${params.actionId}`\n })\n );\n }\n\n let res = await action.pollEvents(\n new SlateContext(\n ctx.config,\n { state: params.state },\n ctx.auth?.output!,\n slate.spec,\n logger\n )\n );\n\n return { inputs: res.inputs, updatedState: res.updatedState };\n });\n\n manager.onRequest('slates/action.trigger.webhook_handle', async ({ params }) => {\n let ctx = getContextFull();\n let action = getActionWithType(slate, 'trigger', params.actionId);\n\n if (!action.handleRequest) {\n throw new ServiceError(\n badRequestError({\n message: `Trigger action does not support webhook requests: ${params.actionId}`\n })\n );\n }\n\n let req = new Request(params.url, {\n method: params.method,\n headers: params.headers,\n body: params.body\n ? Uint8Array.from(atob(params.body.content), c => c.charCodeAt(0))\n : null\n });\n\n let res = await action.handleRequest(\n new SlateContext(\n ctx.config,\n { request: req, state: params.state },\n ctx.auth?.output!,\n slate.spec,\n logger\n )\n );\n\n return { inputs: res.inputs, updatedState: res.updatedState };\n });\n\n manager.onRequest('slates/action.trigger.webhook_register', async ({ params }) => {\n let ctx = getContextFull();\n let action = getActionWithType(slate, 'trigger', params.actionId);\n\n if (!action.autoRegisterWebhook) {\n throw new ServiceError(\n badRequestError({\n message: `Trigger action does not support webhook auto-registration: ${params.actionId}`\n })\n );\n }\n\n let res = await action.autoRegisterWebhook(\n new SlateContext(\n ctx.config,\n { webhookBaseUrl: params.webhookBaseUrl },\n ctx.auth?.output!,\n slate.spec,\n logger\n )\n );\n\n return { registrationDetails: res.registrationDetails, state: res.state };\n });\n\n manager.onRequest('slates/action.trigger.webhook_unregister', async ({ params }) => {\n let ctx = getContextFull();\n let action = getActionWithType(slate, 'trigger', params.actionId);\n\n if (!action.autoUnregisterWebhook) {\n throw new ServiceError(\n badRequestError({\n message: `Trigger action does not support webhook auto-unregistration: ${params.actionId}`\n })\n );\n }\n\n await action.autoUnregisterWebhook(\n new SlateContext(\n ctx.config,\n {\n webhookBaseUrl: params.webhookBaseUrl,\n registrationDetails: params.registrationDetails,\n state: params.state\n },\n ctx.auth?.output!,\n slate.spec,\n logger\n )\n );\n\n return {};\n });\n });\n"],"names":["getAuthMethod","slate","authenticationMethodId","authMethod","spec","auth","authStack","find","m","key","ServiceError","badRequestError","message","mapAuthMethod","_m$inputSchema","id","name","type","scopes","map","s","scope","title","description","undefined","inputSchema","z","object","toJSONSchema","outputSchema","capabilities","getDefaultInput","enabled","handleTokenRefresh","handleChangedInput","onInputChanged","getProfile","getAction","actionId","action","actions","notFoundError","getActionWithType","mapAction","a","_a$polling$intervalIn","_extends","instructions","constraints","tags","metadata","invocation","source","intervalSeconds","polling","intervalInSeconds","SlateDefaultPollingIntervalSeconds","autoRegistration","autoRegisterWebhook","autoUnregistration","autoUnregisterWebhook","State","initialValue","Object","defineProperty","_value","writable","value","_classPrivateFieldLooseBase","_proto","prototype","_createClass","get","this","set","validate","schema","data","entity","result","safeParse","success","e","validationError","errors","issues","i","path","p","String","zodToValidationError","error","createProviderHandler","listeners","createSlatesProviderProtoHandler","manager","protocol","participants","config","session","logger","SlateLogger","getContextBasic","currentProtocol","currentParticipants","preconditionFailedError","getContextFull","basic","currentConfig","currentSession","currentAuth","length","onNotification","_ref","params","Promise","resolve","reject","_ref2","_ref3","valRes","authSchema","output","_ref4","configSchema","_ref5","sessionId","state","onRequest","_ref6","newConfig","configChanged","handlers","previousConfig","then","updatedConfig","_updatedConfig$config","_ref7","getDefaultConfig","defaultConfig","_ref8","_ref9","provider","parameters","_ref0","authenticationMethods","_ref1","authenticationMethod","_ref10","_authMethod$getDefaul","input","_ref11","previousInput","newInput","updatedInput","_updatedInput$input","_ref12","_temp2","_exit","_result","_temp","getOutput","outputRes","_ref13","_exit2","_temp4","_result2","_temp3","handleCallback","code","redirectUri","clientId","clientSecret","callbackRes","_ref14","_temp6","_exit3","_result3","_temp5","getAuthorizationUrl","urlRes","authorizationUrl","url","_ref15","_temp8","_exit4","_result4","_temp7","profileRes","profile","_ref16","_exit5","_temp0","_result5","_temp9","refreshRes","_ref17","_ref18","_ref19","_ctx$auth","ctx","handleInvocation","SlateContext","res","_ref20","_ctx$auth2","handleEvent","_ref21","_ctx$auth3","pollEvents","inputs","updatedState","_ref22","_ctx$auth4","handleRequest","req","Request","method","headers","body","Uint8Array","from","atob","content","c","charCodeAt","request","_ref23","_ctx$auth5","webhookBaseUrl","registrationDetails","_ref24","_ctx$auth6"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.module.js","sources":["../src/validation.ts","../src/spec.ts","../src/state.ts","../src/index.ts"],"sourcesContent":["import { ServiceError, validationError } from '@lowerdeck/error';\nimport z from 'zod';\n\nexport let zodToValidationError = (entity: string, message: string, e: z.ZodError) => {\n return validationError({\n message,\n entity,\n errors: e.issues.map(i => ({\n ...i,\n path: i.path.map(p => String(p))\n }))\n });\n};\n\nexport let validate = <T>(\n schema: z.ZodType<T>,\n data: unknown,\n entity: string,\n message: string\n): T => {\n let result = schema.safeParse(data);\n if (!result.success) {\n throw new ServiceError(zodToValidationError(entity, message, result.error));\n }\n\n return result.data;\n};\n\nexport let toJsonSchema = (schema: z.ZodType<any>) =>\n schema.toJSONSchema({\n unrepresentable: 'any',\n override: ctx => {\n let def = ctx.zodSchema._zod.def;\n\n if (def.type === 'date') {\n ctx.jsonSchema.type = 'string';\n ctx.jsonSchema.format = 'date-time';\n }\n if (def.type === 'bigint') {\n ctx.jsonSchema.type = 'number';\n }\n }\n });\n","import { badRequestError, notFoundError, ServiceError } from '@lowerdeck/error';\nimport { SlateAuthenticationMethod, SlatesAction } from '@slates/proto';\nimport { Slate, SlateDefaultPollingIntervalSeconds } from '@slates/provider';\nimport z from 'zod';\nimport { toJsonSchema } from './validation';\n\nexport let getAuthMethod = <ConfigType extends {}, AuthType extends {}>(\n slate: Slate<ConfigType, AuthType>,\n authenticationMethodId: string\n) => {\n let authMethod = slate.spec.auth.authStack.find(m => m.key == authenticationMethodId);\n if (!authMethod) {\n throw new ServiceError(\n badRequestError({\n message: `Invalid authentication method ID: ${authenticationMethodId}`\n })\n );\n }\n\n return authMethod;\n};\n\nexport let mapAuthMethod = <ConfigType extends {}, AuthType extends {}>(\n slate: Slate<ConfigType, AuthType>,\n m: ReturnType<typeof getAuthMethod<ConfigType, AuthType>>\n): SlateAuthenticationMethod => ({\n id: m.key,\n name: m.name,\n type: m.type,\n\n scopes:\n 'scopes' in m\n ? m.scopes.map(s => ({\n id: s.scope,\n title: s.title,\n description: s.description\n }))\n : undefined,\n\n inputSchema: toJsonSchema(m.inputSchema ?? z.object({})),\n outputSchema: toJsonSchema(slate.spec.auth.outputSchema),\n\n capabilities: {\n getDefaultInput: { enabled: !!('getDefaultInput' in m && m.getDefaultInput) },\n handleTokenRefresh: {\n enabled: !!('handleTokenRefresh' in m && m.handleTokenRefresh)\n },\n handleChangedInput: {\n enabled: !!m.onInputChanged\n },\n getProfile: { enabled: !!m.getProfile }\n }\n});\n\nexport let getAction = <ConfigType extends {}, AuthType extends {}>(\n slate: Slate<ConfigType, AuthType>,\n actionId: string\n) => {\n let action = slate.actions.find(m => m.key == actionId);\n if (!action) {\n throw new ServiceError(notFoundError(`action`, actionId));\n }\n\n return action;\n};\n\nexport let getActionWithType = <\n Type extends 'tool' | 'trigger',\n ConfigType extends {},\n AuthType extends {}\n>(\n slate: Slate<ConfigType, AuthType>,\n type: Type,\n actionId: string\n): ReturnType<typeof getAction<ConfigType, AuthType>> & { type: Type } => {\n let action = getAction(slate, actionId);\n if (action.type != type) {\n throw new ServiceError(\n badRequestError({\n message: `Action with ID ${actionId} is not of type ${type}`\n })\n );\n }\n\n return action as any;\n};\n\nexport let mapAction = <ConfigType extends {}, AuthType extends {}>(\n slate: Slate<ConfigType, AuthType>,\n a: ReturnType<typeof getAction<ConfigType, AuthType>>\n): SlatesAction => {\n let base = {\n id: a.key,\n name: a.name,\n description: a.description,\n instructions: a.instructions,\n constraints: a.constraints,\n tags: a.tags,\n metadata: a.metadata,\n\n inputSchema: toJsonSchema(a.inputSchema),\n outputSchema: toJsonSchema(a.outputSchema)\n };\n\n if (a.type == 'tool') {\n return {\n ...base,\n type: 'action.tool',\n capabilities: {}\n };\n }\n\n return {\n ...base,\n type: 'action.trigger',\n capabilities: {},\n\n invocation:\n a.source == 'polling'\n ? {\n type: 'polling',\n intervalSeconds: a.polling.intervalInSeconds ?? SlateDefaultPollingIntervalSeconds\n }\n : {\n type: 'webhook',\n autoRegistration: !!a.autoRegisterWebhook,\n autoUnregistration: !!a.autoUnregisterWebhook\n }\n };\n};\n","export class State<T> {\n #value: T;\n\n get value() {\n return this.#value;\n }\n\n get() {\n return this.#value;\n }\n\n set(value: T) {\n this.#value = value;\n }\n\n constructor(initialValue: T) {\n this.#value = initialValue;\n }\n}\n","import { badRequestError, preconditionFailedError, ServiceError } from '@lowerdeck/error';\nimport { createSlatesProviderProtoHandler, SlatesParticipant } from '@slates/proto';\nimport { Slate, SlateContext, SlateLogger, SlateLogListener } from '@slates/provider';\nimport { getAction, getActionWithType, getAuthMethod, mapAction, mapAuthMethod } from './spec';\nimport { State } from './state';\nimport { toJsonSchema, validate } from './validation';\n\nexport let createProviderHandler = <ConfigType extends {}, AuthType extends {}>(\n slate: Slate<ConfigType, AuthType>,\n listeners: SlateLogListener[]\n) =>\n createSlatesProviderProtoHandler(async manager => {\n let protocol = new State<string | null>(null);\n let participants = new State<SlatesParticipant[] | null>(null);\n\n let auth = new State<{ authenticationMethodId: string; output: AuthType } | null>(null);\n let config = new State<{ value: ConfigType } | null>(null);\n\n let session = new State<{ id: string; state: any } | null>(null);\n\n let logger = new SlateLogger(listeners);\n\n let getContextBasic = () => {\n let currentProtocol = protocol.get();\n let currentParticipants = participants.get();\n\n if (!currentProtocol || !currentParticipants) {\n throw new ServiceError(\n preconditionFailedError({\n message: 'Connection context has not been initialized'\n })\n );\n }\n\n return {\n protocol: currentProtocol,\n participants: currentParticipants\n };\n };\n\n let getContextFull = () => {\n let basic = getContextBasic();\n\n let currentConfig = config.get();\n let currentSession = session.get();\n let currentAuth = auth.get();\n\n if (\n !currentConfig ||\n !currentSession ||\n (!currentAuth && slate.spec.auth.authStack.length > 0)\n ) {\n throw new ServiceError(\n preconditionFailedError({\n message: 'Session context has not been initialized'\n })\n );\n }\n\n return {\n ...basic,\n config: currentConfig.value,\n session: currentSession,\n auth: currentAuth\n };\n };\n\n manager.onNotification('slates/hello', async ({ params }) => {\n protocol.set(params.protocol);\n });\n\n manager.onNotification('slates/participant.set', async ({ params }) => {\n if (!protocol.get()) {\n throw new ServiceError(\n preconditionFailedError({ message: 'Connection protocol has not been initialized' })\n );\n }\n\n participants.set(params.participants);\n });\n\n manager.onNotification('slates/auth.set', async ({ params }) => {\n getContextBasic();\n getAuthMethod(slate, params.authenticationMethodId); // validate method ID\n\n let valRes = validate(\n slate.spec.authSchema,\n params.output,\n 'auth',\n `Invalid authentication output for method ID: ${params.authenticationMethodId}`\n );\n\n auth.set({\n authenticationMethodId: params.authenticationMethodId,\n output: valRes\n });\n });\n\n manager.onNotification('slates/config.set', async ({ params }) => {\n getContextBasic();\n\n let value = validate(\n slate.spec.configSchema,\n params.config,\n 'config',\n 'Invalid configuration'\n );\n\n config.set({ value });\n });\n\n manager.onNotification('slates/session.start', async ({ params }) => {\n getContextBasic();\n\n session.set({\n id: params.sessionId,\n state: params.state\n });\n });\n\n manager.onRequest('slates/config.changed', async ({ params }) => {\n getContextBasic();\n\n let newConfig = validate(\n slate.spec.config.configSchema,\n params.newConfig,\n 'config',\n 'Invalid configuration'\n );\n\n let configChanged = slate.spec.config.handlers.configChanged;\n if (!configChanged) {\n return { success: true, config: newConfig };\n }\n\n let updatedConfig = await configChanged({\n previousConfig: params.previousConfig as ConfigType | null,\n newConfig\n });\n\n return { success: true, config: updatedConfig?.config ?? newConfig };\n });\n\n manager.onRequest('slates/config.get_default', async ({ params }) => {\n getContextBasic();\n\n let getDefaultConfig = slate.spec.config.handlers.getDefaultConfig;\n if (!getDefaultConfig) {\n return { config: null };\n }\n\n let defaultConfig = await getDefaultConfig();\n return { config: defaultConfig };\n });\n\n manager.onRequest('slates/config.schema.get', async ({ params }) => {\n getContextBasic();\n\n return { schema: toJsonSchema(slate.spec.configSchema) };\n });\n\n manager.onRequest('slates/provider.identify', async ({ params }) => {\n getContextBasic();\n\n return {\n protocol: 'slates@2026-01-01',\n provider: {\n type: 'provider',\n id: slate.spec.key,\n name: slate.spec.name,\n description: slate.spec.description,\n metadata: slate.spec.parameters.metadata\n }\n };\n });\n\n manager.onRequest('slates/auth.methods.list', async ({ params }) => {\n getContextBasic();\n\n return {\n authenticationMethods: slate.spec.auth.authStack.map(m => mapAuthMethod(slate, m))\n };\n });\n\n manager.onRequest('slates/auth.method.get', async ({ params }) => {\n getContextBasic();\n let authMethod = getAuthMethod(slate, params.authenticationMethodId);\n\n return {\n authenticationMethod: mapAuthMethod(slate, authMethod)\n };\n });\n\n manager.onRequest('slates/auth.input.get_default', async ({ params }) => {\n getContextBasic();\n let authMethod = getAuthMethod(slate, params.authenticationMethodId);\n\n if (!authMethod.getDefaultInput) {\n return { input: null };\n }\n\n return { input: await authMethod.getDefaultInput() };\n });\n\n manager.onRequest('slates/auth.input.changed', async ({ params }) => {\n getContextBasic();\n let authMethod = getAuthMethod(slate, params.authenticationMethodId);\n\n if (!authMethod.onInputChanged) {\n return { success: true, input: params.newInput };\n }\n\n let updatedInput = await authMethod.onInputChanged({\n previousInput: params.previousInput as any | null,\n newInput: params.newInput\n });\n\n return { success: true, input: updatedInput?.input ?? params.newInput };\n });\n\n manager.onRequest('slates/auth.output.get', async ({ params }) => {\n getContextBasic();\n let authMethod = getAuthMethod(slate, params.authenticationMethodId);\n\n let input = params.input;\n\n if (authMethod.inputSchema) {\n input = validate(\n authMethod.inputSchema,\n input,\n 'auth',\n `Invalid authentication input for method ID: ${params.authenticationMethodId}`\n );\n }\n\n if ('getOutput' in authMethod) {\n let outputRes = await authMethod.getOutput({ input });\n return { output: outputRes.output };\n }\n\n return { output: input as any };\n });\n\n manager.onRequest('slates/auth.authorization_callback.handle', async ({ params }) => {\n getContextBasic();\n let authMethod = getAuthMethod(slate, params.authenticationMethodId);\n\n if ('handleCallback' in authMethod) {\n let callbackRes = await authMethod.handleCallback({\n code: params.code,\n state: params.state,\n redirectUri: params.redirectUri,\n input: params.input,\n clientId: params.clientId,\n clientSecret: params.clientSecret,\n scopes: params.scopes\n });\n\n return {\n output: callbackRes.output,\n input: callbackRes.input\n };\n }\n\n throw new ServiceError(\n preconditionFailedError({\n message: `Authentication method does not support authorization callback handling: ${params.authenticationMethodId}`\n })\n );\n });\n\n manager.onRequest('slates/auth.authorization_url.get', async ({ params }) => {\n getContextBasic();\n let authMethod = getAuthMethod(slate, params.authenticationMethodId);\n\n if ('getAuthorizationUrl' in authMethod) {\n let urlRes = await authMethod.getAuthorizationUrl({\n redirectUri: params.redirectUri,\n state: params.state,\n input: params.input,\n clientId: params.clientId,\n clientSecret: params.clientSecret,\n scopes: params.scopes\n });\n\n return {\n authorizationUrl: urlRes.url,\n input: urlRes.input\n };\n }\n\n throw new ServiceError(\n preconditionFailedError({\n message: `Authentication method does not support authorization URL retrieval: ${params.authenticationMethodId}`\n })\n );\n });\n\n manager.onRequest('slates/auth.profile.get', async ({ params }) => {\n getContextBasic();\n let authMethod = getAuthMethod(slate, params.authenticationMethodId);\n\n if (authMethod.getProfile) {\n let profileRes = await authMethod.getProfile({\n output: params.output as any,\n input: params.input,\n scopes: params.scopes\n });\n\n return {\n profile: profileRes.profile\n };\n }\n\n throw new ServiceError(\n preconditionFailedError({\n message: `Authentication method does not support profile retrieval: ${params.authenticationMethodId}`\n })\n );\n });\n\n manager.onRequest('slates/auth.token_refresh.handle', async ({ params }) => {\n getContextBasic();\n let authMethod = getAuthMethod(slate, params.authenticationMethodId);\n\n if ('handleTokenRefresh' in authMethod && authMethod.handleTokenRefresh) {\n let refreshRes = await authMethod.handleTokenRefresh({\n output: params.output as any,\n input: params.input,\n clientId: params.clientId,\n clientSecret: params.clientSecret,\n scopes: params.scopes\n });\n\n return {\n output: refreshRes.output,\n input: refreshRes.input\n };\n }\n\n throw new ServiceError(\n preconditionFailedError({\n message: `Authentication method does not support token refresh handling: ${params.authenticationMethodId}`\n })\n );\n });\n\n manager.onRequest('slates/actions.list', async ({ params }) => {\n getContextBasic();\n\n return {\n actions: slate.actions.map(a => mapAction(slate, a))\n };\n });\n\n manager.onRequest('slates/action.get', async ({ params }) => {\n getContextBasic();\n let action = getAction(slate, params.actionId);\n\n return {\n action: mapAction(slate, action)\n };\n });\n\n manager.onRequest('slates/action.tool.invoke', async ({ params }) => {\n let ctx = getContextFull();\n let action = getActionWithType(slate, 'tool', params.actionId);\n\n let input = validate(\n action.inputSchema,\n params.input,\n 'input',\n `Invalid input for tool ID: ${params.actionId}`\n );\n\n let res = await action.handleInvocation(\n new SlateContext(ctx.config, input, ctx.auth?.output!, slate.spec, logger)\n );\n\n return { output: res.output, message: res.message };\n });\n\n manager.onRequest('slates/action.trigger.map_event', async ({ params }) => {\n let ctx = getContextFull();\n let action = getActionWithType(slate, 'trigger', params.actionId);\n\n let input = validate(\n action.inputSchema,\n params.input,\n 'input',\n `Invalid event for trigger ID: ${params.actionId}`\n );\n\n let res = await action.handleEvent(\n new SlateContext(ctx.config, input, ctx.auth?.output!, slate.spec, logger)\n );\n\n return { id: res.id, type: res.type, output: res.output };\n });\n\n manager.onRequest('slates/action.trigger.poll_events', async ({ params }) => {\n let ctx = getContextFull();\n let action = getActionWithType(slate, 'trigger', params.actionId);\n\n if (!action.pollEvents) {\n throw new ServiceError(\n badRequestError({\n message: `Trigger action does not support polling: ${params.actionId}`\n })\n );\n }\n\n let res = await action.pollEvents(\n new SlateContext(\n ctx.config,\n { state: params.state },\n ctx.auth?.output!,\n slate.spec,\n logger\n )\n );\n\n return { inputs: res.inputs, updatedState: res.updatedState };\n });\n\n manager.onRequest('slates/action.trigger.webhook_handle', async ({ params }) => {\n let ctx = getContextFull();\n let action = getActionWithType(slate, 'trigger', params.actionId);\n\n if (!action.handleRequest) {\n throw new ServiceError(\n badRequestError({\n message: `Trigger action does not support webhook requests: ${params.actionId}`\n })\n );\n }\n\n let req = new Request(params.url, {\n method: params.method,\n headers: params.headers,\n body: params.body\n ? Uint8Array.from(atob(params.body.content), c => c.charCodeAt(0))\n : null\n });\n\n let res = await action.handleRequest(\n new SlateContext(\n ctx.config,\n { request: req, state: params.state },\n ctx.auth?.output!,\n slate.spec,\n logger\n )\n );\n\n return { inputs: res.inputs, updatedState: res.updatedState };\n });\n\n manager.onRequest('slates/action.trigger.webhook_register', async ({ params }) => {\n let ctx = getContextFull();\n let action = getActionWithType(slate, 'trigger', params.actionId);\n\n if (!action.autoRegisterWebhook) {\n throw new ServiceError(\n badRequestError({\n message: `Trigger action does not support webhook auto-registration: ${params.actionId}`\n })\n );\n }\n\n let res = await action.autoRegisterWebhook(\n new SlateContext(\n ctx.config,\n { webhookBaseUrl: params.webhookBaseUrl },\n ctx.auth?.output!,\n slate.spec,\n logger\n )\n );\n\n return { registrationDetails: res.registrationDetails, state: res.state };\n });\n\n manager.onRequest('slates/action.trigger.webhook_unregister', async ({ params }) => {\n let ctx = getContextFull();\n let action = getActionWithType(slate, 'trigger', params.actionId);\n\n if (!action.autoUnregisterWebhook) {\n throw new ServiceError(\n badRequestError({\n message: `Trigger action does not support webhook auto-unregistration: ${params.actionId}`\n })\n );\n }\n\n await action.autoUnregisterWebhook(\n new SlateContext(\n ctx.config,\n {\n webhookBaseUrl: params.webhookBaseUrl,\n registrationDetails: params.registrationDetails,\n state: params.state\n },\n ctx.auth?.output!,\n slate.spec,\n logger\n )\n );\n\n return {};\n });\n });\n"],"names":["validate","schema","data","entity","message","result","safeParse","success","ServiceError","e","validationError","errors","issues","map","i","_extends","path","p","String","zodToValidationError","error","toJsonSchema","toJSONSchema","unrepresentable","override","ctx","def","zodSchema","_zod","type","jsonSchema","format","getAuthMethod","slate","authenticationMethodId","authMethod","spec","auth","authStack","find","m","key","badRequestError","mapAuthMethod","_m$inputSchema","id","name","scopes","s","scope","title","description","undefined","inputSchema","z","object","outputSchema","capabilities","getDefaultInput","enabled","handleTokenRefresh","handleChangedInput","onInputChanged","getProfile","getAction","actionId","action","actions","notFoundError","getActionWithType","mapAction","a","_a$polling$intervalIn","instructions","constraints","tags","metadata","invocation","source","intervalSeconds","polling","intervalInSeconds","SlateDefaultPollingIntervalSeconds","autoRegistration","autoRegisterWebhook","autoUnregistration","autoUnregisterWebhook","State","initialValue","Object","defineProperty","_value","writable","value","_classPrivateFieldLooseBase","_proto","prototype","_createClass","get","this","set","createProviderHandler","listeners","createSlatesProviderProtoHandler","manager","protocol","participants","config","session","logger","SlateLogger","getContextBasic","currentProtocol","currentParticipants","preconditionFailedError","getContextFull","basic","currentConfig","currentSession","currentAuth","length","onNotification","_ref","params","Promise","resolve","reject","_ref2","_ref3","valRes","authSchema","output","_ref4","configSchema","_ref5","sessionId","state","onRequest","_ref6","newConfig","configChanged","handlers","previousConfig","then","updatedConfig","_updatedConfig$config","_ref7","getDefaultConfig","defaultConfig","_ref8","_ref9","provider","parameters","_ref0","authenticationMethods","_ref1","authenticationMethod","_ref10","_authMethod$getDefaul","input","_ref11","previousInput","newInput","updatedInput","_updatedInput$input","_ref12","_exit","_temp2","_result","_temp","getOutput","outputRes","_output","_ref13","_temp4","_exit2","_result2","_temp3","handleCallback","code","redirectUri","clientId","clientSecret","callbackRes","_output$input","_ref14","_exit3","_temp6","_result3","_temp5","getAuthorizationUrl","urlRes","_authorizationUrl$inp","authorizationUrl","url","_ref15","_temp8","_exit4","_result4","_temp7","profileRes","profile","_ref16","_exit5","_temp0","_result5","_temp9","refreshRes","_ref17","_ref18","_ref19","_ctx$auth","handleInvocation","SlateContext","res","_ref20","_ctx$auth2","handleEvent","_ref21","_ctx$auth3","pollEvents","inputs","updatedState","_ref22","_ctx$auth4","handleRequest","req","Request","method","headers","body","Uint8Array","from","atob","content","c","charCodeAt","request","_ref23","_ctx$auth5","webhookBaseUrl","registrationDetails","_ref24","_ctx$auth6"],"mappings":"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"}
|
package/dist/index.umd.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("@lowerdeck/error"),require("@slates/proto"),require("@slates/provider"),require("zod")):"function"==typeof define&&define.amd?define(["exports","@lowerdeck/error","@slates/proto","@slates/provider","zod"],t):t((e||self).providerHandler={},e.error,e.proto,e.provider,e.zod)}(this,function(e,t,r,n,o){function i(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var a=/*#__PURE__*/i(o);function u(e,t){if(!{}.hasOwnProperty.call(e,t))throw new TypeError("attempted to use private field on non-instance");return e}var s=0;function c(e){return"__private_"+s+++"_"+e}function l(){return l=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)({}).hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e},l.apply(null,arguments)}function p(e){var t=function(e){if("object"!=typeof e||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var r=t.call(e,"string");if("object"!=typeof r)return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==typeof t?t:t+""}var h=function(e,r){var n=e.spec.auth.authStack.find(function(e){return e.key==r});if(!n)throw new t.ServiceError(t.badRequestError({message:"Invalid authentication method ID: "+r}));return n},d=function(e,t){var r;return{id:t.key,name:t.name,type:t.type,scopes:"scopes"in t?t.scopes.map(function(e){return{id:e.scope,title:e.title,description:e.description}}):void 0,inputSchema:(null!=(r=t.inputSchema)?r:a.default.object({})).toJSONSchema(),outputSchema:e.spec.auth.outputSchema.toJSONSchema(),capabilities:{getDefaultInput:{enabled:!(!("getDefaultInput"in t)||!t.getDefaultInput)},handleTokenRefresh:{enabled:!(!("handleTokenRefresh"in t)||!t.handleTokenRefresh)},handleChangedInput:{enabled:!!t.onInputChanged},getProfile:{enabled:!!t.getProfile}}}},f=function(e,r){var n=e.actions.find(function(e){return e.key==r});if(!n)throw new t.ServiceError(t.notFoundError("action",r));return n},v=function(e,r,n){var o=f(e,n);if(o.type!=r)throw new t.ServiceError(t.badRequestError({message:"Action with ID "+n+" is not of type "+r}));return o},m=function(e,t){var r;return l({},{id:t.key,name:t.name,description:t.description,instructions:t.instructions,constraints:t.constraints,tags:t.tags,metadata:t.metadata,inputSchema:t.inputSchema.toJSONSchema(),outputSchema:t.outputSchema.toJSONSchema()},"tool"==t.type?{type:"action.tool",capabilities:{}}:{type:"action.trigger",capabilities:{},invocation:"polling"==t.source?{type:"polling",intervalSeconds:null!=(r=t.polling.intervalInSeconds)?r:n.SlateDefaultPollingIntervalSeconds}:{type:"webhook",autoRegistration:!!t.autoRegisterWebhook,autoUnregistration:!!t.autoUnregisterWebhook}})},g=/*#__PURE__*/c("value"),P=/*#__PURE__*/function(){function e(e){Object.defineProperty(this,g,{writable:!0,value:void 0}),u(this,g)[g]=e}var t,r,n=e.prototype;return n.get=function(){return u(this,g)[g]},n.set=function(e){u(this,g)[g]=e},t=e,(r=[{key:"value",get:function(){return u(this,g)[g]}}])&&function(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,p(n.key),n)}}(t.prototype,r),Object.defineProperty(t,"prototype",{writable:!1}),t}(),y=function(e,r,n,o){var i=e.safeParse(r);if(!i.success)throw new t.ServiceError(function(e,r,n){return t.validationError({message:r,entity:e,errors:n.issues.map(function(e){return l({},e,{path:e.path.map(function(e){return String(e)})})})})}(n,o,i.error));return i.data};e.createProviderHandler=function(e,o){return r.createSlatesProviderProtoHandler(function(r){try{var i=new P(null),a=new P(null),u=new P(null),s=new P(null),c=new P(null),p=new n.SlateLogger(o),g=function(){var e=i.get(),r=a.get();if(!e||!r)throw new t.ServiceError(t.preconditionFailedError({message:"Connection context has not been initialized"}));return{protocol:e,participants:r}},w=function(){var r=g(),n=s.get(),o=c.get(),i=u.get();if(!n||!o||!i&&e.spec.auth.authStack.length>0)throw new t.ServiceError(t.preconditionFailedError({message:"Session context has not been initialized"}));return l({},r,{config:n.value,session:o,auth:i})};return r.onNotification("slates/hello",function(e){var t=e.params;try{return i.set(t.protocol),Promise.resolve()}catch(e){return Promise.reject(e)}}),r.onNotification("slates/participant.set",function(e){var r=e.params;try{if(!i.get())throw new t.ServiceError(t.preconditionFailedError({message:"Connection protocol has not been initialized"}));return a.set(r.participants),Promise.resolve()}catch(e){return Promise.reject(e)}}),r.onNotification("slates/auth.set",function(t){var r=t.params;try{g(),h(e,r.authenticationMethodId);var n=y(e.spec.authSchema,r.output,"auth","Invalid authentication output for method ID: "+r.authenticationMethodId);return u.set({authenticationMethodId:r.authenticationMethodId,output:n}),Promise.resolve()}catch(e){return Promise.reject(e)}}),r.onNotification("slates/config.set",function(t){var r=t.params;try{g();var n=y(e.spec.configSchema,r.config,"config","Invalid configuration");return s.set({value:n}),Promise.resolve()}catch(e){return Promise.reject(e)}}),r.onNotification("slates/session.start",function(e){var t=e.params;try{return g(),c.set({id:t.sessionId,state:t.state}),Promise.resolve()}catch(e){return Promise.reject(e)}}),r.onRequest("slates/config.changed",function(t){var r=t.params;try{g();var n=y(e.spec.config.configSchema,r.newConfig,"config","Invalid configuration"),o=e.spec.config.handlers.configChanged;return o?Promise.resolve(o({previousConfig:r.previousConfig,newConfig:n})).then(function(e){var t;return{success:!0,config:null!=(t=null==e?void 0:e.config)?t:n}}):Promise.resolve({success:!0,config:n})}catch(e){return Promise.reject(e)}}),r.onRequest("slates/config.get_default",function(t){try{g();var r=e.spec.config.handlers.getDefaultConfig;return r?Promise.resolve(r()).then(function(e){return{config:e}}):Promise.resolve({config:null})}catch(e){return Promise.reject(e)}}),r.onRequest("slates/config.schema.get",function(t){try{return g(),Promise.resolve({schema:e.spec.configSchema.toJSONSchema()})}catch(e){return Promise.reject(e)}}),r.onRequest("slates/provider.identify",function(t){try{return g(),Promise.resolve({protocol:"slates@2026-01-01",provider:{type:"provider",id:e.spec.key,name:e.spec.name,description:e.spec.description,metadata:e.spec.parameters.metadata}})}catch(e){return Promise.reject(e)}}),r.onRequest("slates/auth.methods.list",function(t){try{return g(),Promise.resolve({authenticationMethods:e.spec.auth.authStack.map(function(t){return d(e,t)})})}catch(e){return Promise.reject(e)}}),r.onRequest("slates/auth.method.get",function(t){var r=t.params;try{g();var n=h(e,r.authenticationMethodId);return Promise.resolve({authenticationMethod:d(e,n)})}catch(e){return Promise.reject(e)}}),r.onRequest("slates/auth.input.get_default",function(t){var r=t.params;try{g();var n=h(e,r.authenticationMethodId);return n.getDefaultInput?Promise.resolve(n.getDefaultInput()).then(function(e){return{input:e}}):Promise.resolve({input:null})}catch(e){return Promise.reject(e)}}),r.onRequest("slates/auth.input.changed",function(t){var r=t.params;try{g();var n=h(e,r.authenticationMethodId);return n.onInputChanged?Promise.resolve(n.onInputChanged({previousInput:r.previousInput,newInput:r.newInput})).then(function(e){var t;return{success:!0,input:null!=(t=null==e?void 0:e.input)?t:r.newInput}}):Promise.resolve({success:!0,input:r.newInput})}catch(e){return Promise.reject(e)}}),r.onRequest("slates/auth.output.get",function(t){var r=t.params;try{var n,o=function(e){return n?e:{output:a}};g();var i=h(e,r.authenticationMethodId),a=r.input;i.inputSchema&&(a=y(i.inputSchema,a,"auth","Invalid authentication input for method ID: "+r.authenticationMethodId));var u=function(){if("getOutput"in i)return Promise.resolve(i.getOutput({input:a})).then(function(e){return n=1,{output:e.output}})}();return Promise.resolve(u&&u.then?u.then(o):o(u))}catch(e){return Promise.reject(e)}}),r.onRequest("slates/auth.authorization_callback.handle",function(r){var n=r.params;try{var o,i=function(e){if(o)return e;throw new t.ServiceError(t.preconditionFailedError({message:"Authentication method does not support authorization callback handling: "+n.authenticationMethodId}))};g();var a=h(e,n.authenticationMethodId),u=function(){if("handleCallback"in a)return Promise.resolve(a.handleCallback({code:n.code,state:n.state,redirectUri:n.redirectUri,input:n.input,clientId:n.clientId,clientSecret:n.clientSecret,scopes:n.scopes})).then(function(e){return o=1,{output:e.output,input:e.input}})}();return Promise.resolve(u&&u.then?u.then(i):i(u))}catch(e){return Promise.reject(e)}}),r.onRequest("slates/auth.authorization_url.get",function(r){var n=r.params;try{var o,i=function(e){if(o)return e;throw new t.ServiceError(t.preconditionFailedError({message:"Authentication method does not support authorization URL retrieval: "+n.authenticationMethodId}))};g();var a=h(e,n.authenticationMethodId),u=function(){if("getAuthorizationUrl"in a)return Promise.resolve(a.getAuthorizationUrl({redirectUri:n.redirectUri,state:n.state,input:n.input,clientId:n.clientId,clientSecret:n.clientSecret,scopes:n.scopes})).then(function(e){return o=1,{authorizationUrl:e.url,input:e.input}})}();return Promise.resolve(u&&u.then?u.then(i):i(u))}catch(e){return Promise.reject(e)}}),r.onRequest("slates/auth.profile.get",function(r){var n=r.params;try{var o,i=function(e){if(o)return e;throw new t.ServiceError(t.preconditionFailedError({message:"Authentication method does not support profile retrieval: "+n.authenticationMethodId}))};g();var a=h(e,n.authenticationMethodId),u=function(){if(a.getProfile)return Promise.resolve(a.getProfile({output:n.output,input:n.input,scopes:n.scopes})).then(function(e){return o=1,{profile:e.profile}})}();return Promise.resolve(u&&u.then?u.then(i):i(u))}catch(e){return Promise.reject(e)}}),r.onRequest("slates/auth.token_refresh.handle",function(r){var n=r.params;try{var o,i=function(e){if(o)return e;throw new t.ServiceError(t.preconditionFailedError({message:"Authentication method does not support token refresh handling: "+n.authenticationMethodId}))};g();var a=h(e,n.authenticationMethodId),u=function(){if("handleTokenRefresh"in a&&a.handleTokenRefresh)return Promise.resolve(a.handleTokenRefresh({output:n.output,input:n.input,clientId:n.clientId,clientSecret:n.clientSecret,scopes:n.scopes})).then(function(e){return o=1,{output:e.output,input:e.input}})}();return Promise.resolve(u&&u.then?u.then(i):i(u))}catch(e){return Promise.reject(e)}}),r.onRequest("slates/actions.list",function(t){try{return g(),Promise.resolve({actions:e.actions.map(function(e){return m(0,e)})})}catch(e){return Promise.reject(e)}}),r.onRequest("slates/action.get",function(t){var r=t.params;try{g();var n=f(e,r.actionId);return Promise.resolve({action:m(0,n)})}catch(e){return Promise.reject(e)}}),r.onRequest("slates/action.tool.invoke",function(t){var r=t.params;try{var o,i=w(),a=v(e,"tool",r.actionId),u=y(a.inputSchema,r.input,"input","Invalid input for tool ID: "+r.actionId);return Promise.resolve(a.handleInvocation(new n.SlateContext(i.config,u,null==(o=i.auth)?void 0:o.output,e.spec,p))).then(function(e){return{output:e.output,message:e.message}})}catch(e){return Promise.reject(e)}}),r.onRequest("slates/action.trigger.map_event",function(t){var r=t.params;try{var o,i=w(),a=v(e,"trigger",r.actionId),u=y(a.inputSchema,r.input,"input","Invalid event for trigger ID: "+r.actionId);return Promise.resolve(a.handleEvent(new n.SlateContext(i.config,u,null==(o=i.auth)?void 0:o.output,e.spec,p))).then(function(e){return{id:e.id,type:e.type,output:e.output}})}catch(e){return Promise.reject(e)}}),r.onRequest("slates/action.trigger.poll_events",function(r){var o=r.params;try{var i,a=w(),u=v(e,"trigger",o.actionId);if(!u.pollEvents)throw new t.ServiceError(t.badRequestError({message:"Trigger action does not support polling: "+o.actionId}));return Promise.resolve(u.pollEvents(new n.SlateContext(a.config,{state:o.state},null==(i=a.auth)?void 0:i.output,e.spec,p))).then(function(e){return{inputs:e.inputs,updatedState:e.updatedState}})}catch(e){return Promise.reject(e)}}),r.onRequest("slates/action.trigger.webhook_handle",function(r){var o=r.params;try{var i,a=w(),u=v(e,"trigger",o.actionId);if(!u.handleRequest)throw new t.ServiceError(t.badRequestError({message:"Trigger action does not support webhook requests: "+o.actionId}));var s=new Request(o.url,{method:o.method,headers:o.headers,body:o.body?Uint8Array.from(atob(o.body.content),function(e){return e.charCodeAt(0)}):null});return Promise.resolve(u.handleRequest(new n.SlateContext(a.config,{request:s,state:o.state},null==(i=a.auth)?void 0:i.output,e.spec,p))).then(function(e){return{inputs:e.inputs,updatedState:e.updatedState}})}catch(e){return Promise.reject(e)}}),r.onRequest("slates/action.trigger.webhook_register",function(r){var o=r.params;try{var i,a=w(),u=v(e,"trigger",o.actionId);if(!u.autoRegisterWebhook)throw new t.ServiceError(t.badRequestError({message:"Trigger action does not support webhook auto-registration: "+o.actionId}));return Promise.resolve(u.autoRegisterWebhook(new n.SlateContext(a.config,{webhookBaseUrl:o.webhookBaseUrl},null==(i=a.auth)?void 0:i.output,e.spec,p))).then(function(e){return{registrationDetails:e.registrationDetails,state:e.state}})}catch(e){return Promise.reject(e)}}),r.onRequest("slates/action.trigger.webhook_unregister",function(r){var o=r.params;try{var i,a=w(),u=v(e,"trigger",o.actionId);if(!u.autoUnregisterWebhook)throw new t.ServiceError(t.badRequestError({message:"Trigger action does not support webhook auto-unregistration: "+o.actionId}));return Promise.resolve(u.autoUnregisterWebhook(new n.SlateContext(a.config,{webhookBaseUrl:o.webhookBaseUrl,registrationDetails:o.registrationDetails,state:o.state},null==(i=a.auth)?void 0:i.output,e.spec,p))).then(function(){return{}})}catch(e){return Promise.reject(e)}}),Promise.resolve()}catch(e){return Promise.reject(e)}})}});
|
|
1
|
+
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("@lowerdeck/error"),require("@slates/proto"),require("@slates/provider"),require("zod")):"function"==typeof define&&define.amd?define(["exports","@lowerdeck/error","@slates/proto","@slates/provider","zod"],t):t((e||self).providerHandler={},e.error,e.proto,e.provider,e.zod)}(this,function(e,t,r,n,o){function i(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var a=/*#__PURE__*/i(o);function u(e,t){if(!{}.hasOwnProperty.call(e,t))throw new TypeError("attempted to use private field on non-instance");return e}var s=0;function c(e){return"__private_"+s+++"_"+e}function l(){return l=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)({}).hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e},l.apply(null,arguments)}function p(e){var t=function(e){if("object"!=typeof e||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var r=t.call(e,"string");if("object"!=typeof r)return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==typeof t?t:t+""}var h=function(e,r,n,o){var i=e.safeParse(r);if(!i.success)throw new t.ServiceError(function(e,r,n){return t.validationError({message:r,entity:e,errors:n.issues.map(function(e){return l({},e,{path:e.path.map(function(e){return String(e)})})})})}(n,o,i.error));return i.data},d=function(e){return e.toJSONSchema({unrepresentable:"any",override:function(e){var t=e.zodSchema._zod.def;"date"===t.type&&(e.jsonSchema.type="string",e.jsonSchema.format="date-time"),"bigint"===t.type&&(e.jsonSchema.type="number")}})},f=function(e,r){var n=e.spec.auth.authStack.find(function(e){return e.key==r});if(!n)throw new t.ServiceError(t.badRequestError({message:"Invalid authentication method ID: "+r}));return n},v=function(e,t){var r;return{id:t.key,name:t.name,type:t.type,scopes:"scopes"in t?t.scopes.map(function(e){return{id:e.scope,title:e.title,description:e.description}}):void 0,inputSchema:d(null!=(r=t.inputSchema)?r:a.default.object({})),outputSchema:d(e.spec.auth.outputSchema),capabilities:{getDefaultInput:{enabled:!(!("getDefaultInput"in t)||!t.getDefaultInput)},handleTokenRefresh:{enabled:!(!("handleTokenRefresh"in t)||!t.handleTokenRefresh)},handleChangedInput:{enabled:!!t.onInputChanged},getProfile:{enabled:!!t.getProfile}}}},m=function(e,r){var n=e.actions.find(function(e){return e.key==r});if(!n)throw new t.ServiceError(t.notFoundError("action",r));return n},g=function(e,r,n){var o=m(e,n);if(o.type!=r)throw new t.ServiceError(t.badRequestError({message:"Action with ID "+n+" is not of type "+r}));return o},P=function(e,t){var r;return l({},{id:t.key,name:t.name,description:t.description,instructions:t.instructions,constraints:t.constraints,tags:t.tags,metadata:t.metadata,inputSchema:d(t.inputSchema),outputSchema:d(t.outputSchema)},"tool"==t.type?{type:"action.tool",capabilities:{}}:{type:"action.trigger",capabilities:{},invocation:"polling"==t.source?{type:"polling",intervalSeconds:null!=(r=t.polling.intervalInSeconds)?r:n.SlateDefaultPollingIntervalSeconds}:{type:"webhook",autoRegistration:!!t.autoRegisterWebhook,autoUnregistration:!!t.autoUnregisterWebhook}})},y=/*#__PURE__*/c("value"),w=/*#__PURE__*/function(){function e(e){Object.defineProperty(this,y,{writable:!0,value:void 0}),u(this,y)[y]=e}var t,r,n=e.prototype;return n.get=function(){return u(this,y)[y]},n.set=function(e){u(this,y)[y]=e},t=e,(r=[{key:"value",get:function(){return u(this,y)[y]}}])&&function(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,p(n.key),n)}}(t.prototype,r),Object.defineProperty(t,"prototype",{writable:!1}),t}();e.createProviderHandler=function(e,o){return r.createSlatesProviderProtoHandler(function(r){try{var i=new w(null),a=new w(null),u=new w(null),s=new w(null),c=new w(null),p=new n.SlateLogger(o),y=function(){var e=i.get(),r=a.get();if(!e||!r)throw new t.ServiceError(t.preconditionFailedError({message:"Connection context has not been initialized"}));return{protocol:e,participants:r}},I=function(){var r=y(),n=s.get(),o=c.get(),i=u.get();if(!n||!o||!i&&e.spec.auth.authStack.length>0)throw new t.ServiceError(t.preconditionFailedError({message:"Session context has not been initialized"}));return l({},r,{config:n.value,session:o,auth:i})};return r.onNotification("slates/hello",function(e){var t=e.params;try{return i.set(t.protocol),Promise.resolve()}catch(e){return Promise.reject(e)}}),r.onNotification("slates/participant.set",function(e){var r=e.params;try{if(!i.get())throw new t.ServiceError(t.preconditionFailedError({message:"Connection protocol has not been initialized"}));return a.set(r.participants),Promise.resolve()}catch(e){return Promise.reject(e)}}),r.onNotification("slates/auth.set",function(t){var r=t.params;try{y(),f(e,r.authenticationMethodId);var n=h(e.spec.authSchema,r.output,"auth","Invalid authentication output for method ID: "+r.authenticationMethodId);return u.set({authenticationMethodId:r.authenticationMethodId,output:n}),Promise.resolve()}catch(e){return Promise.reject(e)}}),r.onNotification("slates/config.set",function(t){var r=t.params;try{y();var n=h(e.spec.configSchema,r.config,"config","Invalid configuration");return s.set({value:n}),Promise.resolve()}catch(e){return Promise.reject(e)}}),r.onNotification("slates/session.start",function(e){var t=e.params;try{return y(),c.set({id:t.sessionId,state:t.state}),Promise.resolve()}catch(e){return Promise.reject(e)}}),r.onRequest("slates/config.changed",function(t){var r=t.params;try{y();var n=h(e.spec.config.configSchema,r.newConfig,"config","Invalid configuration"),o=e.spec.config.handlers.configChanged;return o?Promise.resolve(o({previousConfig:r.previousConfig,newConfig:n})).then(function(e){var t;return{success:!0,config:null!=(t=null==e?void 0:e.config)?t:n}}):Promise.resolve({success:!0,config:n})}catch(e){return Promise.reject(e)}}),r.onRequest("slates/config.get_default",function(t){try{y();var r=e.spec.config.handlers.getDefaultConfig;return r?Promise.resolve(r()).then(function(e){return{config:e}}):Promise.resolve({config:null})}catch(e){return Promise.reject(e)}}),r.onRequest("slates/config.schema.get",function(t){try{return y(),Promise.resolve({schema:d(e.spec.configSchema)})}catch(e){return Promise.reject(e)}}),r.onRequest("slates/provider.identify",function(t){try{return y(),Promise.resolve({protocol:"slates@2026-01-01",provider:{type:"provider",id:e.spec.key,name:e.spec.name,description:e.spec.description,metadata:e.spec.parameters.metadata}})}catch(e){return Promise.reject(e)}}),r.onRequest("slates/auth.methods.list",function(t){try{return y(),Promise.resolve({authenticationMethods:e.spec.auth.authStack.map(function(t){return v(e,t)})})}catch(e){return Promise.reject(e)}}),r.onRequest("slates/auth.method.get",function(t){var r=t.params;try{y();var n=f(e,r.authenticationMethodId);return Promise.resolve({authenticationMethod:v(e,n)})}catch(e){return Promise.reject(e)}}),r.onRequest("slates/auth.input.get_default",function(t){var r=t.params;try{y();var n=f(e,r.authenticationMethodId);return n.getDefaultInput?Promise.resolve(n.getDefaultInput()).then(function(e){return{input:e}}):Promise.resolve({input:null})}catch(e){return Promise.reject(e)}}),r.onRequest("slates/auth.input.changed",function(t){var r=t.params;try{y();var n=f(e,r.authenticationMethodId);return n.onInputChanged?Promise.resolve(n.onInputChanged({previousInput:r.previousInput,newInput:r.newInput})).then(function(e){var t;return{success:!0,input:null!=(t=null==e?void 0:e.input)?t:r.newInput}}):Promise.resolve({success:!0,input:r.newInput})}catch(e){return Promise.reject(e)}}),r.onRequest("slates/auth.output.get",function(t){var r=t.params;try{var n,o=function(e){return n?e:{output:a}};y();var i=f(e,r.authenticationMethodId),a=r.input;i.inputSchema&&(a=h(i.inputSchema,a,"auth","Invalid authentication input for method ID: "+r.authenticationMethodId));var u=function(){if("getOutput"in i)return Promise.resolve(i.getOutput({input:a})).then(function(e){return n=1,{output:e.output}})}();return Promise.resolve(u&&u.then?u.then(o):o(u))}catch(e){return Promise.reject(e)}}),r.onRequest("slates/auth.authorization_callback.handle",function(r){var n=r.params;try{var o,i=function(e){if(o)return e;throw new t.ServiceError(t.preconditionFailedError({message:"Authentication method does not support authorization callback handling: "+n.authenticationMethodId}))};y();var a=f(e,n.authenticationMethodId),u=function(){if("handleCallback"in a)return Promise.resolve(a.handleCallback({code:n.code,state:n.state,redirectUri:n.redirectUri,input:n.input,clientId:n.clientId,clientSecret:n.clientSecret,scopes:n.scopes})).then(function(e){return o=1,{output:e.output,input:e.input}})}();return Promise.resolve(u&&u.then?u.then(i):i(u))}catch(e){return Promise.reject(e)}}),r.onRequest("slates/auth.authorization_url.get",function(r){var n=r.params;try{var o,i=function(e){if(o)return e;throw new t.ServiceError(t.preconditionFailedError({message:"Authentication method does not support authorization URL retrieval: "+n.authenticationMethodId}))};y();var a=f(e,n.authenticationMethodId),u=function(){if("getAuthorizationUrl"in a)return Promise.resolve(a.getAuthorizationUrl({redirectUri:n.redirectUri,state:n.state,input:n.input,clientId:n.clientId,clientSecret:n.clientSecret,scopes:n.scopes})).then(function(e){return o=1,{authorizationUrl:e.url,input:e.input}})}();return Promise.resolve(u&&u.then?u.then(i):i(u))}catch(e){return Promise.reject(e)}}),r.onRequest("slates/auth.profile.get",function(r){var n=r.params;try{var o,i=function(e){if(o)return e;throw new t.ServiceError(t.preconditionFailedError({message:"Authentication method does not support profile retrieval: "+n.authenticationMethodId}))};y();var a=f(e,n.authenticationMethodId),u=function(){if(a.getProfile)return Promise.resolve(a.getProfile({output:n.output,input:n.input,scopes:n.scopes})).then(function(e){return o=1,{profile:e.profile}})}();return Promise.resolve(u&&u.then?u.then(i):i(u))}catch(e){return Promise.reject(e)}}),r.onRequest("slates/auth.token_refresh.handle",function(r){var n=r.params;try{var o,i=function(e){if(o)return e;throw new t.ServiceError(t.preconditionFailedError({message:"Authentication method does not support token refresh handling: "+n.authenticationMethodId}))};y();var a=f(e,n.authenticationMethodId),u=function(){if("handleTokenRefresh"in a&&a.handleTokenRefresh)return Promise.resolve(a.handleTokenRefresh({output:n.output,input:n.input,clientId:n.clientId,clientSecret:n.clientSecret,scopes:n.scopes})).then(function(e){return o=1,{output:e.output,input:e.input}})}();return Promise.resolve(u&&u.then?u.then(i):i(u))}catch(e){return Promise.reject(e)}}),r.onRequest("slates/actions.list",function(t){try{return y(),Promise.resolve({actions:e.actions.map(function(e){return P(0,e)})})}catch(e){return Promise.reject(e)}}),r.onRequest("slates/action.get",function(t){var r=t.params;try{y();var n=m(e,r.actionId);return Promise.resolve({action:P(0,n)})}catch(e){return Promise.reject(e)}}),r.onRequest("slates/action.tool.invoke",function(t){var r=t.params;try{var o,i=I(),a=g(e,"tool",r.actionId),u=h(a.inputSchema,r.input,"input","Invalid input for tool ID: "+r.actionId);return Promise.resolve(a.handleInvocation(new n.SlateContext(i.config,u,null==(o=i.auth)?void 0:o.output,e.spec,p))).then(function(e){return{output:e.output,message:e.message}})}catch(e){return Promise.reject(e)}}),r.onRequest("slates/action.trigger.map_event",function(t){var r=t.params;try{var o,i=I(),a=g(e,"trigger",r.actionId),u=h(a.inputSchema,r.input,"input","Invalid event for trigger ID: "+r.actionId);return Promise.resolve(a.handleEvent(new n.SlateContext(i.config,u,null==(o=i.auth)?void 0:o.output,e.spec,p))).then(function(e){return{id:e.id,type:e.type,output:e.output}})}catch(e){return Promise.reject(e)}}),r.onRequest("slates/action.trigger.poll_events",function(r){var o=r.params;try{var i,a=I(),u=g(e,"trigger",o.actionId);if(!u.pollEvents)throw new t.ServiceError(t.badRequestError({message:"Trigger action does not support polling: "+o.actionId}));return Promise.resolve(u.pollEvents(new n.SlateContext(a.config,{state:o.state},null==(i=a.auth)?void 0:i.output,e.spec,p))).then(function(e){return{inputs:e.inputs,updatedState:e.updatedState}})}catch(e){return Promise.reject(e)}}),r.onRequest("slates/action.trigger.webhook_handle",function(r){var o=r.params;try{var i,a=I(),u=g(e,"trigger",o.actionId);if(!u.handleRequest)throw new t.ServiceError(t.badRequestError({message:"Trigger action does not support webhook requests: "+o.actionId}));var s=new Request(o.url,{method:o.method,headers:o.headers,body:o.body?Uint8Array.from(atob(o.body.content),function(e){return e.charCodeAt(0)}):null});return Promise.resolve(u.handleRequest(new n.SlateContext(a.config,{request:s,state:o.state},null==(i=a.auth)?void 0:i.output,e.spec,p))).then(function(e){return{inputs:e.inputs,updatedState:e.updatedState}})}catch(e){return Promise.reject(e)}}),r.onRequest("slates/action.trigger.webhook_register",function(r){var o=r.params;try{var i,a=I(),u=g(e,"trigger",o.actionId);if(!u.autoRegisterWebhook)throw new t.ServiceError(t.badRequestError({message:"Trigger action does not support webhook auto-registration: "+o.actionId}));return Promise.resolve(u.autoRegisterWebhook(new n.SlateContext(a.config,{webhookBaseUrl:o.webhookBaseUrl},null==(i=a.auth)?void 0:i.output,e.spec,p))).then(function(e){return{registrationDetails:e.registrationDetails,state:e.state}})}catch(e){return Promise.reject(e)}}),r.onRequest("slates/action.trigger.webhook_unregister",function(r){var o=r.params;try{var i,a=I(),u=g(e,"trigger",o.actionId);if(!u.autoUnregisterWebhook)throw new t.ServiceError(t.badRequestError({message:"Trigger action does not support webhook auto-unregistration: "+o.actionId}));return Promise.resolve(u.autoUnregisterWebhook(new n.SlateContext(a.config,{webhookBaseUrl:o.webhookBaseUrl,registrationDetails:o.registrationDetails,state:o.state},null==(i=a.auth)?void 0:i.output,e.spec,p))).then(function(){return{}})}catch(e){return Promise.reject(e)}}),Promise.resolve()}catch(e){return Promise.reject(e)}})}});
|
|
2
2
|
//# sourceMappingURL=index.umd.js.map
|
package/dist/index.umd.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.umd.js","sources":["../src/spec.ts","../src/state.ts","../src/validation.ts","../src/index.ts"],"sourcesContent":["import { badRequestError, notFoundError, ServiceError } from '@lowerdeck/error';\nimport { SlateAuthenticationMethod, SlatesAction } from '@slates/proto';\nimport { Slate, SlateDefaultPollingIntervalSeconds } from '@slates/provider';\nimport z from 'zod';\n\nexport let getAuthMethod = <ConfigType extends {}, AuthType extends {}>(\n slate: Slate<ConfigType, AuthType>,\n authenticationMethodId: string\n) => {\n let authMethod = slate.spec.auth.authStack.find(m => m.key == authenticationMethodId);\n if (!authMethod) {\n throw new ServiceError(\n badRequestError({\n message: `Invalid authentication method ID: ${authenticationMethodId}`\n })\n );\n }\n\n return authMethod;\n};\n\nexport let mapAuthMethod = <ConfigType extends {}, AuthType extends {}>(\n slate: Slate<ConfigType, AuthType>,\n m: ReturnType<typeof getAuthMethod<ConfigType, AuthType>>\n): SlateAuthenticationMethod => ({\n id: m.key,\n name: m.name,\n type: m.type,\n\n scopes:\n 'scopes' in m\n ? m.scopes.map(s => ({\n id: s.scope,\n title: s.title,\n description: s.description\n }))\n : undefined,\n\n inputSchema: (m.inputSchema ?? z.object({})).toJSONSchema(),\n outputSchema: slate.spec.auth.outputSchema.toJSONSchema(),\n\n capabilities: {\n getDefaultInput: { enabled: !!('getDefaultInput' in m && m.getDefaultInput) },\n handleTokenRefresh: {\n enabled: !!('handleTokenRefresh' in m && m.handleTokenRefresh)\n },\n handleChangedInput: {\n enabled: !!m.onInputChanged\n },\n getProfile: { enabled: !!m.getProfile }\n }\n});\n\nexport let getAction = <ConfigType extends {}, AuthType extends {}>(\n slate: Slate<ConfigType, AuthType>,\n actionId: string\n) => {\n let action = slate.actions.find(m => m.key == actionId);\n if (!action) {\n throw new ServiceError(notFoundError(`action`, actionId));\n }\n\n return action;\n};\n\nexport let getActionWithType = <\n Type extends 'tool' | 'trigger',\n ConfigType extends {},\n AuthType extends {}\n>(\n slate: Slate<ConfigType, AuthType>,\n type: Type,\n actionId: string\n): ReturnType<typeof getAction<ConfigType, AuthType>> & { type: Type } => {\n let action = getAction(slate, actionId);\n if (action.type != type) {\n throw new ServiceError(\n badRequestError({\n message: `Action with ID ${actionId} is not of type ${type}`\n })\n );\n }\n\n return action as any;\n};\n\nexport let mapAction = <ConfigType extends {}, AuthType extends {}>(\n slate: Slate<ConfigType, AuthType>,\n a: ReturnType<typeof getAction<ConfigType, AuthType>>\n): SlatesAction => {\n let base = {\n id: a.key,\n name: a.name,\n description: a.description,\n instructions: a.instructions,\n constraints: a.constraints,\n tags: a.tags,\n metadata: a.metadata,\n\n inputSchema: a.inputSchema.toJSONSchema(),\n outputSchema: a.outputSchema.toJSONSchema()\n };\n\n if (a.type == 'tool') {\n return {\n ...base,\n type: 'action.tool',\n capabilities: {}\n };\n }\n\n return {\n ...base,\n type: 'action.trigger',\n capabilities: {},\n\n invocation:\n a.source == 'polling'\n ? {\n type: 'polling',\n intervalSeconds: a.polling.intervalInSeconds ?? SlateDefaultPollingIntervalSeconds\n }\n : {\n type: 'webhook',\n autoRegistration: !!a.autoRegisterWebhook,\n autoUnregistration: !!a.autoUnregisterWebhook\n }\n };\n};\n","export class State<T> {\n #value: T;\n\n get value() {\n return this.#value;\n }\n\n get() {\n return this.#value;\n }\n\n set(value: T) {\n this.#value = value;\n }\n\n constructor(initialValue: T) {\n this.#value = initialValue;\n }\n}\n","import { ServiceError, validationError } from '@lowerdeck/error';\nimport z from 'zod';\n\nexport let zodToValidationError = (entity: string, message: string, e: z.ZodError) => {\n return validationError({\n message,\n entity,\n errors: e.issues.map(i => ({\n ...i,\n path: i.path.map(p => String(p))\n }))\n });\n};\n\nexport let validate = <T>(\n schema: z.ZodType<T>,\n data: unknown,\n entity: string,\n message: string\n): T => {\n let result = schema.safeParse(data);\n if (!result.success) {\n throw new ServiceError(zodToValidationError(entity, message, result.error));\n }\n\n return result.data;\n};\n","import { badRequestError, preconditionFailedError, ServiceError } from '@lowerdeck/error';\nimport { createSlatesProviderProtoHandler, SlatesParticipant } from '@slates/proto';\nimport { Slate, SlateContext, SlateLogger, SlateLogListener } from '@slates/provider';\nimport { getAction, getActionWithType, getAuthMethod, mapAction, mapAuthMethod } from './spec';\nimport { State } from './state';\nimport { validate } from './validation';\n\nexport let createProviderHandler = <ConfigType extends {}, AuthType extends {}>(\n slate: Slate<ConfigType, AuthType>,\n listeners: SlateLogListener[]\n) =>\n createSlatesProviderProtoHandler(async manager => {\n let protocol = new State<string | null>(null);\n let participants = new State<SlatesParticipant[] | null>(null);\n\n let auth = new State<{ authenticationMethodId: string; output: AuthType } | null>(null);\n let config = new State<{ value: ConfigType } | null>(null);\n\n let session = new State<{ id: string; state: any } | null>(null);\n\n let logger = new SlateLogger(listeners);\n\n let getContextBasic = () => {\n let currentProtocol = protocol.get();\n let currentParticipants = participants.get();\n\n if (!currentProtocol || !currentParticipants) {\n throw new ServiceError(\n preconditionFailedError({\n message: 'Connection context has not been initialized'\n })\n );\n }\n\n return {\n protocol: currentProtocol,\n participants: currentParticipants\n };\n };\n\n let getContextFull = () => {\n let basic = getContextBasic();\n\n let currentConfig = config.get();\n let currentSession = session.get();\n let currentAuth = auth.get();\n\n if (\n !currentConfig ||\n !currentSession ||\n (!currentAuth && slate.spec.auth.authStack.length > 0)\n ) {\n throw new ServiceError(\n preconditionFailedError({\n message: 'Session context has not been initialized'\n })\n );\n }\n\n return {\n ...basic,\n config: currentConfig.value,\n session: currentSession,\n auth: currentAuth\n };\n };\n\n manager.onNotification('slates/hello', async ({ params }) => {\n protocol.set(params.protocol);\n });\n\n manager.onNotification('slates/participant.set', async ({ params }) => {\n if (!protocol.get()) {\n throw new ServiceError(\n preconditionFailedError({ message: 'Connection protocol has not been initialized' })\n );\n }\n\n participants.set(params.participants);\n });\n\n manager.onNotification('slates/auth.set', async ({ params }) => {\n getContextBasic();\n getAuthMethod(slate, params.authenticationMethodId); // validate method ID\n\n let valRes = validate(\n slate.spec.authSchema,\n params.output,\n 'auth',\n `Invalid authentication output for method ID: ${params.authenticationMethodId}`\n );\n\n auth.set({\n authenticationMethodId: params.authenticationMethodId,\n output: valRes\n });\n });\n\n manager.onNotification('slates/config.set', async ({ params }) => {\n getContextBasic();\n\n let value = validate(\n slate.spec.configSchema,\n params.config,\n 'config',\n 'Invalid configuration'\n );\n\n config.set({ value });\n });\n\n manager.onNotification('slates/session.start', async ({ params }) => {\n getContextBasic();\n\n session.set({\n id: params.sessionId,\n state: params.state\n });\n });\n\n manager.onRequest('slates/config.changed', async ({ params }) => {\n getContextBasic();\n\n let newConfig = validate(\n slate.spec.config.configSchema,\n params.newConfig,\n 'config',\n 'Invalid configuration'\n );\n\n let configChanged = slate.spec.config.handlers.configChanged;\n if (!configChanged) {\n return { success: true, config: newConfig };\n }\n\n let updatedConfig = await configChanged({\n previousConfig: params.previousConfig as ConfigType | null,\n newConfig\n });\n\n return { success: true, config: updatedConfig?.config ?? newConfig };\n });\n\n manager.onRequest('slates/config.get_default', async ({ params }) => {\n getContextBasic();\n\n let getDefaultConfig = slate.spec.config.handlers.getDefaultConfig;\n if (!getDefaultConfig) {\n return { config: null };\n }\n\n let defaultConfig = await getDefaultConfig();\n return { config: defaultConfig };\n });\n\n manager.onRequest('slates/config.schema.get', async ({ params }) => {\n getContextBasic();\n\n return { schema: slate.spec.configSchema.toJSONSchema() };\n });\n\n manager.onRequest('slates/provider.identify', async ({ params }) => {\n getContextBasic();\n\n return {\n protocol: 'slates@2026-01-01',\n provider: {\n type: 'provider',\n id: slate.spec.key,\n name: slate.spec.name,\n description: slate.spec.description,\n metadata: slate.spec.parameters.metadata\n }\n };\n });\n\n manager.onRequest('slates/auth.methods.list', async ({ params }) => {\n getContextBasic();\n\n return {\n authenticationMethods: slate.spec.auth.authStack.map(m => mapAuthMethod(slate, m))\n };\n });\n\n manager.onRequest('slates/auth.method.get', async ({ params }) => {\n getContextBasic();\n let authMethod = getAuthMethod(slate, params.authenticationMethodId);\n\n return {\n authenticationMethod: mapAuthMethod(slate, authMethod)\n };\n });\n\n manager.onRequest('slates/auth.input.get_default', async ({ params }) => {\n getContextBasic();\n let authMethod = getAuthMethod(slate, params.authenticationMethodId);\n\n if (!authMethod.getDefaultInput) {\n return { input: null };\n }\n\n return { input: await authMethod.getDefaultInput() };\n });\n\n manager.onRequest('slates/auth.input.changed', async ({ params }) => {\n getContextBasic();\n let authMethod = getAuthMethod(slate, params.authenticationMethodId);\n\n if (!authMethod.onInputChanged) {\n return { success: true, input: params.newInput };\n }\n\n let updatedInput = await authMethod.onInputChanged({\n previousInput: params.previousInput as any | null,\n newInput: params.newInput\n });\n\n return { success: true, input: updatedInput?.input ?? params.newInput };\n });\n\n manager.onRequest('slates/auth.output.get', async ({ params }) => {\n getContextBasic();\n let authMethod = getAuthMethod(slate, params.authenticationMethodId);\n\n let input = params.input;\n\n if (authMethod.inputSchema) {\n input = validate(\n authMethod.inputSchema,\n input,\n 'auth',\n `Invalid authentication input for method ID: ${params.authenticationMethodId}`\n );\n }\n\n if ('getOutput' in authMethod) {\n let outputRes = await authMethod.getOutput({ input });\n return { output: outputRes.output };\n }\n\n return { output: input as any };\n });\n\n manager.onRequest('slates/auth.authorization_callback.handle', async ({ params }) => {\n getContextBasic();\n let authMethod = getAuthMethod(slate, params.authenticationMethodId);\n\n if ('handleCallback' in authMethod) {\n let callbackRes = await authMethod.handleCallback({\n code: params.code,\n state: params.state,\n redirectUri: params.redirectUri,\n input: params.input,\n clientId: params.clientId,\n clientSecret: params.clientSecret,\n scopes: params.scopes\n });\n\n return {\n output: callbackRes.output,\n input: callbackRes.input\n };\n }\n\n throw new ServiceError(\n preconditionFailedError({\n message: `Authentication method does not support authorization callback handling: ${params.authenticationMethodId}`\n })\n );\n });\n\n manager.onRequest('slates/auth.authorization_url.get', async ({ params }) => {\n getContextBasic();\n let authMethod = getAuthMethod(slate, params.authenticationMethodId);\n\n if ('getAuthorizationUrl' in authMethod) {\n let urlRes = await authMethod.getAuthorizationUrl({\n redirectUri: params.redirectUri,\n state: params.state,\n input: params.input,\n clientId: params.clientId,\n clientSecret: params.clientSecret,\n scopes: params.scopes\n });\n\n return {\n authorizationUrl: urlRes.url,\n input: urlRes.input\n };\n }\n\n throw new ServiceError(\n preconditionFailedError({\n message: `Authentication method does not support authorization URL retrieval: ${params.authenticationMethodId}`\n })\n );\n });\n\n manager.onRequest('slates/auth.profile.get', async ({ params }) => {\n getContextBasic();\n let authMethod = getAuthMethod(slate, params.authenticationMethodId);\n\n if (authMethod.getProfile) {\n let profileRes = await authMethod.getProfile({\n output: params.output as any,\n input: params.input,\n scopes: params.scopes\n });\n\n return {\n profile: profileRes.profile\n };\n }\n\n throw new ServiceError(\n preconditionFailedError({\n message: `Authentication method does not support profile retrieval: ${params.authenticationMethodId}`\n })\n );\n });\n\n manager.onRequest('slates/auth.token_refresh.handle', async ({ params }) => {\n getContextBasic();\n let authMethod = getAuthMethod(slate, params.authenticationMethodId);\n\n if ('handleTokenRefresh' in authMethod && authMethod.handleTokenRefresh) {\n let refreshRes = await authMethod.handleTokenRefresh({\n output: params.output as any,\n input: params.input,\n clientId: params.clientId,\n clientSecret: params.clientSecret,\n scopes: params.scopes\n });\n\n return {\n output: refreshRes.output,\n input: refreshRes.input\n };\n }\n\n throw new ServiceError(\n preconditionFailedError({\n message: `Authentication method does not support token refresh handling: ${params.authenticationMethodId}`\n })\n );\n });\n\n manager.onRequest('slates/actions.list', async ({ params }) => {\n getContextBasic();\n\n return {\n actions: slate.actions.map(a => mapAction(slate, a))\n };\n });\n\n manager.onRequest('slates/action.get', async ({ params }) => {\n getContextBasic();\n let action = getAction(slate, params.actionId);\n\n return {\n action: mapAction(slate, action)\n };\n });\n\n manager.onRequest('slates/action.tool.invoke', async ({ params }) => {\n let ctx = getContextFull();\n let action = getActionWithType(slate, 'tool', params.actionId);\n\n let input = validate(\n action.inputSchema,\n params.input,\n 'input',\n `Invalid input for tool ID: ${params.actionId}`\n );\n\n let res = await action.handleInvocation(\n new SlateContext(ctx.config, input, ctx.auth?.output!, slate.spec, logger)\n );\n\n return { output: res.output, message: res.message };\n });\n\n manager.onRequest('slates/action.trigger.map_event', async ({ params }) => {\n let ctx = getContextFull();\n let action = getActionWithType(slate, 'trigger', params.actionId);\n\n let input = validate(\n action.inputSchema,\n params.input,\n 'input',\n `Invalid event for trigger ID: ${params.actionId}`\n );\n\n let res = await action.handleEvent(\n new SlateContext(ctx.config, input, ctx.auth?.output!, slate.spec, logger)\n );\n\n return { id: res.id, type: res.type, output: res.output };\n });\n\n manager.onRequest('slates/action.trigger.poll_events', async ({ params }) => {\n let ctx = getContextFull();\n let action = getActionWithType(slate, 'trigger', params.actionId);\n\n if (!action.pollEvents) {\n throw new ServiceError(\n badRequestError({\n message: `Trigger action does not support polling: ${params.actionId}`\n })\n );\n }\n\n let res = await action.pollEvents(\n new SlateContext(\n ctx.config,\n { state: params.state },\n ctx.auth?.output!,\n slate.spec,\n logger\n )\n );\n\n return { inputs: res.inputs, updatedState: res.updatedState };\n });\n\n manager.onRequest('slates/action.trigger.webhook_handle', async ({ params }) => {\n let ctx = getContextFull();\n let action = getActionWithType(slate, 'trigger', params.actionId);\n\n if (!action.handleRequest) {\n throw new ServiceError(\n badRequestError({\n message: `Trigger action does not support webhook requests: ${params.actionId}`\n })\n );\n }\n\n let req = new Request(params.url, {\n method: params.method,\n headers: params.headers,\n body: params.body\n ? Uint8Array.from(atob(params.body.content), c => c.charCodeAt(0))\n : null\n });\n\n let res = await action.handleRequest(\n new SlateContext(\n ctx.config,\n { request: req, state: params.state },\n ctx.auth?.output!,\n slate.spec,\n logger\n )\n );\n\n return { inputs: res.inputs, updatedState: res.updatedState };\n });\n\n manager.onRequest('slates/action.trigger.webhook_register', async ({ params }) => {\n let ctx = getContextFull();\n let action = getActionWithType(slate, 'trigger', params.actionId);\n\n if (!action.autoRegisterWebhook) {\n throw new ServiceError(\n badRequestError({\n message: `Trigger action does not support webhook auto-registration: ${params.actionId}`\n })\n );\n }\n\n let res = await action.autoRegisterWebhook(\n new SlateContext(\n ctx.config,\n { webhookBaseUrl: params.webhookBaseUrl },\n ctx.auth?.output!,\n slate.spec,\n logger\n )\n );\n\n return { registrationDetails: res.registrationDetails, state: res.state };\n });\n\n manager.onRequest('slates/action.trigger.webhook_unregister', async ({ params }) => {\n let ctx = getContextFull();\n let action = getActionWithType(slate, 'trigger', params.actionId);\n\n if (!action.autoUnregisterWebhook) {\n throw new ServiceError(\n badRequestError({\n message: `Trigger action does not support webhook auto-unregistration: ${params.actionId}`\n })\n );\n }\n\n await action.autoUnregisterWebhook(\n new SlateContext(\n ctx.config,\n {\n webhookBaseUrl: params.webhookBaseUrl,\n registrationDetails: params.registrationDetails,\n state: params.state\n },\n ctx.auth?.output!,\n slate.spec,\n logger\n )\n );\n\n return {};\n });\n });\n"],"names":["getAuthMethod","slate","authenticationMethodId","authMethod","spec","auth","authStack","find","m","key","ServiceError","badRequestError","message","mapAuthMethod","_m$inputSchema","id","name","type","scopes","map","s","scope","title","description","undefined","inputSchema","z","object","toJSONSchema","outputSchema","capabilities","getDefaultInput","enabled","handleTokenRefresh","handleChangedInput","onInputChanged","getProfile","getAction","actionId","action","actions","notFoundError","getActionWithType","mapAction","a","_a$polling$intervalIn","_extends","instructions","constraints","tags","metadata","invocation","source","intervalSeconds","polling","intervalInSeconds","SlateDefaultPollingIntervalSeconds","autoRegistration","autoRegisterWebhook","autoUnregistration","autoUnregisterWebhook","State","initialValue","Object","defineProperty","_value","writable","value","_classPrivateFieldLooseBase","_proto","prototype","_createClass","get","this","set","validate","schema","data","entity","result","safeParse","success","e","validationError","errors","issues","i","path","p","String","zodToValidationError","error","listeners","createSlatesProviderProtoHandler","manager","protocol","participants","config","session","logger","SlateLogger","getContextBasic","currentProtocol","currentParticipants","preconditionFailedError","getContextFull","basic","currentConfig","currentSession","currentAuth","length","onNotification","_ref","params","Promise","resolve","reject","_ref2","_ref3","valRes","authSchema","output","_ref4","configSchema","_ref5","sessionId","state","onRequest","_ref6","newConfig","configChanged","handlers","previousConfig","then","updatedConfig","_updatedConfig$config","_ref7","getDefaultConfig","defaultConfig","_ref8","_ref9","provider","parameters","_ref0","authenticationMethods","_ref1","authenticationMethod","_ref10","_authMethod$getDefaul","input","_ref11","previousInput","newInput","updatedInput","_updatedInput$input","_ref12","_temp2","_exit","_result","_temp","getOutput","outputRes","_ref13","_exit2","_temp4","_result2","_temp3","handleCallback","code","redirectUri","clientId","clientSecret","callbackRes","_ref14","_temp6","_exit3","_result3","_temp5","getAuthorizationUrl","urlRes","authorizationUrl","url","_ref15","_temp8","_exit4","_result4","_temp7","profileRes","profile","_ref16","_exit5","_temp0","_result5","_temp9","refreshRes","_ref17","_ref18","_ref19","_ctx$auth","ctx","handleInvocation","SlateContext","res","_ref20","_ctx$auth2","handleEvent","_ref21","_ctx$auth3","pollEvents","inputs","updatedState","_ref22","_ctx$auth4","handleRequest","req","Request","method","headers","body","Uint8Array","from","atob","content","c","charCodeAt","request","_ref23","_ctx$auth5","webhookBaseUrl","registrationDetails","_ref24","_ctx$auth6"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.umd.js","sources":["../src/validation.ts","../src/spec.ts","../src/state.ts","../src/index.ts"],"sourcesContent":["import { ServiceError, validationError } from '@lowerdeck/error';\nimport z from 'zod';\n\nexport let zodToValidationError = (entity: string, message: string, e: z.ZodError) => {\n return validationError({\n message,\n entity,\n errors: e.issues.map(i => ({\n ...i,\n path: i.path.map(p => String(p))\n }))\n });\n};\n\nexport let validate = <T>(\n schema: z.ZodType<T>,\n data: unknown,\n entity: string,\n message: string\n): T => {\n let result = schema.safeParse(data);\n if (!result.success) {\n throw new ServiceError(zodToValidationError(entity, message, result.error));\n }\n\n return result.data;\n};\n\nexport let toJsonSchema = (schema: z.ZodType<any>) =>\n schema.toJSONSchema({\n unrepresentable: 'any',\n override: ctx => {\n let def = ctx.zodSchema._zod.def;\n\n if (def.type === 'date') {\n ctx.jsonSchema.type = 'string';\n ctx.jsonSchema.format = 'date-time';\n }\n if (def.type === 'bigint') {\n ctx.jsonSchema.type = 'number';\n }\n }\n });\n","import { badRequestError, notFoundError, ServiceError } from '@lowerdeck/error';\nimport { SlateAuthenticationMethod, SlatesAction } from '@slates/proto';\nimport { Slate, SlateDefaultPollingIntervalSeconds } from '@slates/provider';\nimport z from 'zod';\nimport { toJsonSchema } from './validation';\n\nexport let getAuthMethod = <ConfigType extends {}, AuthType extends {}>(\n slate: Slate<ConfigType, AuthType>,\n authenticationMethodId: string\n) => {\n let authMethod = slate.spec.auth.authStack.find(m => m.key == authenticationMethodId);\n if (!authMethod) {\n throw new ServiceError(\n badRequestError({\n message: `Invalid authentication method ID: ${authenticationMethodId}`\n })\n );\n }\n\n return authMethod;\n};\n\nexport let mapAuthMethod = <ConfigType extends {}, AuthType extends {}>(\n slate: Slate<ConfigType, AuthType>,\n m: ReturnType<typeof getAuthMethod<ConfigType, AuthType>>\n): SlateAuthenticationMethod => ({\n id: m.key,\n name: m.name,\n type: m.type,\n\n scopes:\n 'scopes' in m\n ? m.scopes.map(s => ({\n id: s.scope,\n title: s.title,\n description: s.description\n }))\n : undefined,\n\n inputSchema: toJsonSchema(m.inputSchema ?? z.object({})),\n outputSchema: toJsonSchema(slate.spec.auth.outputSchema),\n\n capabilities: {\n getDefaultInput: { enabled: !!('getDefaultInput' in m && m.getDefaultInput) },\n handleTokenRefresh: {\n enabled: !!('handleTokenRefresh' in m && m.handleTokenRefresh)\n },\n handleChangedInput: {\n enabled: !!m.onInputChanged\n },\n getProfile: { enabled: !!m.getProfile }\n }\n});\n\nexport let getAction = <ConfigType extends {}, AuthType extends {}>(\n slate: Slate<ConfigType, AuthType>,\n actionId: string\n) => {\n let action = slate.actions.find(m => m.key == actionId);\n if (!action) {\n throw new ServiceError(notFoundError(`action`, actionId));\n }\n\n return action;\n};\n\nexport let getActionWithType = <\n Type extends 'tool' | 'trigger',\n ConfigType extends {},\n AuthType extends {}\n>(\n slate: Slate<ConfigType, AuthType>,\n type: Type,\n actionId: string\n): ReturnType<typeof getAction<ConfigType, AuthType>> & { type: Type } => {\n let action = getAction(slate, actionId);\n if (action.type != type) {\n throw new ServiceError(\n badRequestError({\n message: `Action with ID ${actionId} is not of type ${type}`\n })\n );\n }\n\n return action as any;\n};\n\nexport let mapAction = <ConfigType extends {}, AuthType extends {}>(\n slate: Slate<ConfigType, AuthType>,\n a: ReturnType<typeof getAction<ConfigType, AuthType>>\n): SlatesAction => {\n let base = {\n id: a.key,\n name: a.name,\n description: a.description,\n instructions: a.instructions,\n constraints: a.constraints,\n tags: a.tags,\n metadata: a.metadata,\n\n inputSchema: toJsonSchema(a.inputSchema),\n outputSchema: toJsonSchema(a.outputSchema)\n };\n\n if (a.type == 'tool') {\n return {\n ...base,\n type: 'action.tool',\n capabilities: {}\n };\n }\n\n return {\n ...base,\n type: 'action.trigger',\n capabilities: {},\n\n invocation:\n a.source == 'polling'\n ? {\n type: 'polling',\n intervalSeconds: a.polling.intervalInSeconds ?? SlateDefaultPollingIntervalSeconds\n }\n : {\n type: 'webhook',\n autoRegistration: !!a.autoRegisterWebhook,\n autoUnregistration: !!a.autoUnregisterWebhook\n }\n };\n};\n","export class State<T> {\n #value: T;\n\n get value() {\n return this.#value;\n }\n\n get() {\n return this.#value;\n }\n\n set(value: T) {\n this.#value = value;\n }\n\n constructor(initialValue: T) {\n this.#value = initialValue;\n }\n}\n","import { badRequestError, preconditionFailedError, ServiceError } from '@lowerdeck/error';\nimport { createSlatesProviderProtoHandler, SlatesParticipant } from '@slates/proto';\nimport { Slate, SlateContext, SlateLogger, SlateLogListener } from '@slates/provider';\nimport { getAction, getActionWithType, getAuthMethod, mapAction, mapAuthMethod } from './spec';\nimport { State } from './state';\nimport { toJsonSchema, validate } from './validation';\n\nexport let createProviderHandler = <ConfigType extends {}, AuthType extends {}>(\n slate: Slate<ConfigType, AuthType>,\n listeners: SlateLogListener[]\n) =>\n createSlatesProviderProtoHandler(async manager => {\n let protocol = new State<string | null>(null);\n let participants = new State<SlatesParticipant[] | null>(null);\n\n let auth = new State<{ authenticationMethodId: string; output: AuthType } | null>(null);\n let config = new State<{ value: ConfigType } | null>(null);\n\n let session = new State<{ id: string; state: any } | null>(null);\n\n let logger = new SlateLogger(listeners);\n\n let getContextBasic = () => {\n let currentProtocol = protocol.get();\n let currentParticipants = participants.get();\n\n if (!currentProtocol || !currentParticipants) {\n throw new ServiceError(\n preconditionFailedError({\n message: 'Connection context has not been initialized'\n })\n );\n }\n\n return {\n protocol: currentProtocol,\n participants: currentParticipants\n };\n };\n\n let getContextFull = () => {\n let basic = getContextBasic();\n\n let currentConfig = config.get();\n let currentSession = session.get();\n let currentAuth = auth.get();\n\n if (\n !currentConfig ||\n !currentSession ||\n (!currentAuth && slate.spec.auth.authStack.length > 0)\n ) {\n throw new ServiceError(\n preconditionFailedError({\n message: 'Session context has not been initialized'\n })\n );\n }\n\n return {\n ...basic,\n config: currentConfig.value,\n session: currentSession,\n auth: currentAuth\n };\n };\n\n manager.onNotification('slates/hello', async ({ params }) => {\n protocol.set(params.protocol);\n });\n\n manager.onNotification('slates/participant.set', async ({ params }) => {\n if (!protocol.get()) {\n throw new ServiceError(\n preconditionFailedError({ message: 'Connection protocol has not been initialized' })\n );\n }\n\n participants.set(params.participants);\n });\n\n manager.onNotification('slates/auth.set', async ({ params }) => {\n getContextBasic();\n getAuthMethod(slate, params.authenticationMethodId); // validate method ID\n\n let valRes = validate(\n slate.spec.authSchema,\n params.output,\n 'auth',\n `Invalid authentication output for method ID: ${params.authenticationMethodId}`\n );\n\n auth.set({\n authenticationMethodId: params.authenticationMethodId,\n output: valRes\n });\n });\n\n manager.onNotification('slates/config.set', async ({ params }) => {\n getContextBasic();\n\n let value = validate(\n slate.spec.configSchema,\n params.config,\n 'config',\n 'Invalid configuration'\n );\n\n config.set({ value });\n });\n\n manager.onNotification('slates/session.start', async ({ params }) => {\n getContextBasic();\n\n session.set({\n id: params.sessionId,\n state: params.state\n });\n });\n\n manager.onRequest('slates/config.changed', async ({ params }) => {\n getContextBasic();\n\n let newConfig = validate(\n slate.spec.config.configSchema,\n params.newConfig,\n 'config',\n 'Invalid configuration'\n );\n\n let configChanged = slate.spec.config.handlers.configChanged;\n if (!configChanged) {\n return { success: true, config: newConfig };\n }\n\n let updatedConfig = await configChanged({\n previousConfig: params.previousConfig as ConfigType | null,\n newConfig\n });\n\n return { success: true, config: updatedConfig?.config ?? newConfig };\n });\n\n manager.onRequest('slates/config.get_default', async ({ params }) => {\n getContextBasic();\n\n let getDefaultConfig = slate.spec.config.handlers.getDefaultConfig;\n if (!getDefaultConfig) {\n return { config: null };\n }\n\n let defaultConfig = await getDefaultConfig();\n return { config: defaultConfig };\n });\n\n manager.onRequest('slates/config.schema.get', async ({ params }) => {\n getContextBasic();\n\n return { schema: toJsonSchema(slate.spec.configSchema) };\n });\n\n manager.onRequest('slates/provider.identify', async ({ params }) => {\n getContextBasic();\n\n return {\n protocol: 'slates@2026-01-01',\n provider: {\n type: 'provider',\n id: slate.spec.key,\n name: slate.spec.name,\n description: slate.spec.description,\n metadata: slate.spec.parameters.metadata\n }\n };\n });\n\n manager.onRequest('slates/auth.methods.list', async ({ params }) => {\n getContextBasic();\n\n return {\n authenticationMethods: slate.spec.auth.authStack.map(m => mapAuthMethod(slate, m))\n };\n });\n\n manager.onRequest('slates/auth.method.get', async ({ params }) => {\n getContextBasic();\n let authMethod = getAuthMethod(slate, params.authenticationMethodId);\n\n return {\n authenticationMethod: mapAuthMethod(slate, authMethod)\n };\n });\n\n manager.onRequest('slates/auth.input.get_default', async ({ params }) => {\n getContextBasic();\n let authMethod = getAuthMethod(slate, params.authenticationMethodId);\n\n if (!authMethod.getDefaultInput) {\n return { input: null };\n }\n\n return { input: await authMethod.getDefaultInput() };\n });\n\n manager.onRequest('slates/auth.input.changed', async ({ params }) => {\n getContextBasic();\n let authMethod = getAuthMethod(slate, params.authenticationMethodId);\n\n if (!authMethod.onInputChanged) {\n return { success: true, input: params.newInput };\n }\n\n let updatedInput = await authMethod.onInputChanged({\n previousInput: params.previousInput as any | null,\n newInput: params.newInput\n });\n\n return { success: true, input: updatedInput?.input ?? params.newInput };\n });\n\n manager.onRequest('slates/auth.output.get', async ({ params }) => {\n getContextBasic();\n let authMethod = getAuthMethod(slate, params.authenticationMethodId);\n\n let input = params.input;\n\n if (authMethod.inputSchema) {\n input = validate(\n authMethod.inputSchema,\n input,\n 'auth',\n `Invalid authentication input for method ID: ${params.authenticationMethodId}`\n );\n }\n\n if ('getOutput' in authMethod) {\n let outputRes = await authMethod.getOutput({ input });\n return { output: outputRes.output };\n }\n\n return { output: input as any };\n });\n\n manager.onRequest('slates/auth.authorization_callback.handle', async ({ params }) => {\n getContextBasic();\n let authMethod = getAuthMethod(slate, params.authenticationMethodId);\n\n if ('handleCallback' in authMethod) {\n let callbackRes = await authMethod.handleCallback({\n code: params.code,\n state: params.state,\n redirectUri: params.redirectUri,\n input: params.input,\n clientId: params.clientId,\n clientSecret: params.clientSecret,\n scopes: params.scopes\n });\n\n return {\n output: callbackRes.output,\n input: callbackRes.input\n };\n }\n\n throw new ServiceError(\n preconditionFailedError({\n message: `Authentication method does not support authorization callback handling: ${params.authenticationMethodId}`\n })\n );\n });\n\n manager.onRequest('slates/auth.authorization_url.get', async ({ params }) => {\n getContextBasic();\n let authMethod = getAuthMethod(slate, params.authenticationMethodId);\n\n if ('getAuthorizationUrl' in authMethod) {\n let urlRes = await authMethod.getAuthorizationUrl({\n redirectUri: params.redirectUri,\n state: params.state,\n input: params.input,\n clientId: params.clientId,\n clientSecret: params.clientSecret,\n scopes: params.scopes\n });\n\n return {\n authorizationUrl: urlRes.url,\n input: urlRes.input\n };\n }\n\n throw new ServiceError(\n preconditionFailedError({\n message: `Authentication method does not support authorization URL retrieval: ${params.authenticationMethodId}`\n })\n );\n });\n\n manager.onRequest('slates/auth.profile.get', async ({ params }) => {\n getContextBasic();\n let authMethod = getAuthMethod(slate, params.authenticationMethodId);\n\n if (authMethod.getProfile) {\n let profileRes = await authMethod.getProfile({\n output: params.output as any,\n input: params.input,\n scopes: params.scopes\n });\n\n return {\n profile: profileRes.profile\n };\n }\n\n throw new ServiceError(\n preconditionFailedError({\n message: `Authentication method does not support profile retrieval: ${params.authenticationMethodId}`\n })\n );\n });\n\n manager.onRequest('slates/auth.token_refresh.handle', async ({ params }) => {\n getContextBasic();\n let authMethod = getAuthMethod(slate, params.authenticationMethodId);\n\n if ('handleTokenRefresh' in authMethod && authMethod.handleTokenRefresh) {\n let refreshRes = await authMethod.handleTokenRefresh({\n output: params.output as any,\n input: params.input,\n clientId: params.clientId,\n clientSecret: params.clientSecret,\n scopes: params.scopes\n });\n\n return {\n output: refreshRes.output,\n input: refreshRes.input\n };\n }\n\n throw new ServiceError(\n preconditionFailedError({\n message: `Authentication method does not support token refresh handling: ${params.authenticationMethodId}`\n })\n );\n });\n\n manager.onRequest('slates/actions.list', async ({ params }) => {\n getContextBasic();\n\n return {\n actions: slate.actions.map(a => mapAction(slate, a))\n };\n });\n\n manager.onRequest('slates/action.get', async ({ params }) => {\n getContextBasic();\n let action = getAction(slate, params.actionId);\n\n return {\n action: mapAction(slate, action)\n };\n });\n\n manager.onRequest('slates/action.tool.invoke', async ({ params }) => {\n let ctx = getContextFull();\n let action = getActionWithType(slate, 'tool', params.actionId);\n\n let input = validate(\n action.inputSchema,\n params.input,\n 'input',\n `Invalid input for tool ID: ${params.actionId}`\n );\n\n let res = await action.handleInvocation(\n new SlateContext(ctx.config, input, ctx.auth?.output!, slate.spec, logger)\n );\n\n return { output: res.output, message: res.message };\n });\n\n manager.onRequest('slates/action.trigger.map_event', async ({ params }) => {\n let ctx = getContextFull();\n let action = getActionWithType(slate, 'trigger', params.actionId);\n\n let input = validate(\n action.inputSchema,\n params.input,\n 'input',\n `Invalid event for trigger ID: ${params.actionId}`\n );\n\n let res = await action.handleEvent(\n new SlateContext(ctx.config, input, ctx.auth?.output!, slate.spec, logger)\n );\n\n return { id: res.id, type: res.type, output: res.output };\n });\n\n manager.onRequest('slates/action.trigger.poll_events', async ({ params }) => {\n let ctx = getContextFull();\n let action = getActionWithType(slate, 'trigger', params.actionId);\n\n if (!action.pollEvents) {\n throw new ServiceError(\n badRequestError({\n message: `Trigger action does not support polling: ${params.actionId}`\n })\n );\n }\n\n let res = await action.pollEvents(\n new SlateContext(\n ctx.config,\n { state: params.state },\n ctx.auth?.output!,\n slate.spec,\n logger\n )\n );\n\n return { inputs: res.inputs, updatedState: res.updatedState };\n });\n\n manager.onRequest('slates/action.trigger.webhook_handle', async ({ params }) => {\n let ctx = getContextFull();\n let action = getActionWithType(slate, 'trigger', params.actionId);\n\n if (!action.handleRequest) {\n throw new ServiceError(\n badRequestError({\n message: `Trigger action does not support webhook requests: ${params.actionId}`\n })\n );\n }\n\n let req = new Request(params.url, {\n method: params.method,\n headers: params.headers,\n body: params.body\n ? Uint8Array.from(atob(params.body.content), c => c.charCodeAt(0))\n : null\n });\n\n let res = await action.handleRequest(\n new SlateContext(\n ctx.config,\n { request: req, state: params.state },\n ctx.auth?.output!,\n slate.spec,\n logger\n )\n );\n\n return { inputs: res.inputs, updatedState: res.updatedState };\n });\n\n manager.onRequest('slates/action.trigger.webhook_register', async ({ params }) => {\n let ctx = getContextFull();\n let action = getActionWithType(slate, 'trigger', params.actionId);\n\n if (!action.autoRegisterWebhook) {\n throw new ServiceError(\n badRequestError({\n message: `Trigger action does not support webhook auto-registration: ${params.actionId}`\n })\n );\n }\n\n let res = await action.autoRegisterWebhook(\n new SlateContext(\n ctx.config,\n { webhookBaseUrl: params.webhookBaseUrl },\n ctx.auth?.output!,\n slate.spec,\n logger\n )\n );\n\n return { registrationDetails: res.registrationDetails, state: res.state };\n });\n\n manager.onRequest('slates/action.trigger.webhook_unregister', async ({ params }) => {\n let ctx = getContextFull();\n let action = getActionWithType(slate, 'trigger', params.actionId);\n\n if (!action.autoUnregisterWebhook) {\n throw new ServiceError(\n badRequestError({\n message: `Trigger action does not support webhook auto-unregistration: ${params.actionId}`\n })\n );\n }\n\n await action.autoUnregisterWebhook(\n new SlateContext(\n ctx.config,\n {\n webhookBaseUrl: params.webhookBaseUrl,\n registrationDetails: params.registrationDetails,\n state: params.state\n },\n ctx.auth?.output!,\n slate.spec,\n logger\n )\n );\n\n return {};\n });\n });\n"],"names":["validate","schema","data","entity","message","result","safeParse","success","ServiceError","e","validationError","errors","issues","map","i","_extends","path","p","String","zodToValidationError","error","toJsonSchema","toJSONSchema","unrepresentable","override","ctx","def","zodSchema","_zod","type","jsonSchema","format","getAuthMethod","slate","authenticationMethodId","authMethod","spec","auth","authStack","find","m","key","badRequestError","mapAuthMethod","_m$inputSchema","id","name","scopes","s","scope","title","description","undefined","inputSchema","z","object","outputSchema","capabilities","getDefaultInput","enabled","handleTokenRefresh","handleChangedInput","onInputChanged","getProfile","getAction","actionId","action","actions","notFoundError","getActionWithType","mapAction","a","_a$polling$intervalIn","instructions","constraints","tags","metadata","invocation","source","intervalSeconds","polling","intervalInSeconds","SlateDefaultPollingIntervalSeconds","autoRegistration","autoRegisterWebhook","autoUnregistration","autoUnregisterWebhook","State","initialValue","Object","defineProperty","_value","writable","value","_classPrivateFieldLooseBase","_proto","prototype","_createClass","get","this","set","listeners","createSlatesProviderProtoHandler","manager","protocol","participants","config","session","logger","SlateLogger","getContextBasic","currentProtocol","currentParticipants","preconditionFailedError","getContextFull","basic","currentConfig","currentSession","currentAuth","length","onNotification","_ref","params","Promise","resolve","reject","_ref2","_ref3","valRes","authSchema","output","_ref4","configSchema","_ref5","sessionId","state","onRequest","_ref6","newConfig","configChanged","handlers","previousConfig","then","updatedConfig","_updatedConfig$config","_ref7","getDefaultConfig","defaultConfig","_ref8","_ref9","provider","parameters","_ref0","authenticationMethods","_ref1","authenticationMethod","_ref10","_authMethod$getDefaul","input","_ref11","previousInput","newInput","updatedInput","_updatedInput$input","_ref12","_exit","_temp2","_result","_temp","getOutput","outputRes","_output","_ref13","_temp4","_exit2","_result2","_temp3","handleCallback","code","redirectUri","clientId","clientSecret","callbackRes","_output$input","_ref14","_exit3","_temp6","_result3","_temp5","getAuthorizationUrl","urlRes","_authorizationUrl$inp","authorizationUrl","url","_ref15","_temp8","_exit4","_result4","_temp7","profileRes","profile","_ref16","_exit5","_temp0","_result5","_temp9","refreshRes","_ref17","_ref18","_ref19","_ctx$auth","handleInvocation","SlateContext","res","_ref20","_ctx$auth2","handleEvent","_ref21","_ctx$auth3","pollEvents","inputs","updatedState","_ref22","_ctx$auth4","handleRequest","req","Request","method","headers","body","Uint8Array","from","atob","content","c","charCodeAt","request","_ref23","_ctx$auth5","webhookBaseUrl","registrationDetails","_ref24","_ctx$auth6"],"mappings":"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"}
|
package/dist/spec.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"spec.d.ts","sourceRoot":"","sources":["../src/spec.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,yBAAyB,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AACxE,OAAO,EAAE,KAAK,EAAsC,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"spec.d.ts","sourceRoot":"","sources":["../src/spec.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,yBAAyB,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AACxE,OAAO,EAAE,KAAK,EAAsC,MAAM,kBAAkB,CAAC;AAI7E,eAAO,IAAI,aAAa,GAAI,UAAU,SAAS,EAAE,EAAE,QAAQ,SAAS,EAAE,EACpE,OAAO,KAAK,CAAC,UAAU,EAAE,QAAQ,CAAC,EAClC,wBAAwB,MAAM;;;;8IAY/B,CAAC;AAEF,eAAO,IAAI,aAAa,GAAI,UAAU,SAAS,EAAE,EAAE,QAAQ,SAAS,EAAE,EACpE,OAAO,KAAK,CAAC,UAAU,EAAE,QAAQ,CAAC,EAClC,GAAG,UAAU,CAAC,OAAO,aAAa,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC,KACxD,yBA2BD,CAAC;AAEH,eAAO,IAAI,SAAS,GAAI,UAAU,SAAS,EAAE,EAAE,QAAQ,SAAS,EAAE,EAChE,OAAO,KAAK,CAAC,UAAU,EAAE,QAAQ,CAAC,EAClC,UAAU,MAAM,mJAQjB,CAAC;AAEF,eAAO,IAAI,iBAAiB,GAC1B,IAAI,SAAS,MAAM,GAAG,SAAS,EAC/B,UAAU,SAAS,EAAE,EACrB,QAAQ,SAAS,EAAE,EAEnB,OAAO,KAAK,CAAC,UAAU,EAAE,QAAQ,CAAC,EAClC,MAAM,IAAI,EACV,UAAU,MAAM,KACf,UAAU,CAAC,OAAO,SAAS,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC,GAAG;IAAE,IAAI,EAAE,IAAI,CAAA;CAWnE,CAAC;AAEF,eAAO,IAAI,SAAS,GAAI,UAAU,SAAS,EAAE,EAAE,QAAQ,SAAS,EAAE,EAChE,OAAO,KAAK,CAAC,UAAU,EAAE,QAAQ,CAAC,EAClC,GAAG,UAAU,CAAC,OAAO,SAAS,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC,KACpD,YAuCF,CAAC"}
|
package/dist/validation.d.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import z from 'zod';
|
|
2
2
|
export declare let zodToValidationError: (entity: string, message: string, e: z.ZodError) => import("@lowerdeck/error").ErrorRecord<"invalid_data", 400>;
|
|
3
3
|
export declare let validate: <T>(schema: z.ZodType<T>, data: unknown, entity: string, message: string) => T;
|
|
4
|
+
export declare let toJsonSchema: (schema: z.ZodType<any>) => z.core.ZodStandardJSONSchemaPayload<z.ZodType<any, unknown, z.core.$ZodTypeInternals<any, unknown>>>;
|
|
4
5
|
//# sourceMappingURL=validation.d.ts.map
|
package/dist/validation.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validation.d.ts","sourceRoot":"","sources":["../src/validation.ts"],"names":[],"mappings":"AACA,OAAO,CAAC,MAAM,KAAK,CAAC;AAEpB,eAAO,IAAI,oBAAoB,GAAI,QAAQ,MAAM,EAAE,SAAS,MAAM,EAAE,GAAG,CAAC,CAAC,QAAQ,gEAShF,CAAC;AAEF,eAAO,IAAI,QAAQ,GAAI,CAAC,EACtB,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EACpB,MAAM,OAAO,EACb,QAAQ,MAAM,EACd,SAAS,MAAM,KACd,CAOF,CAAC"}
|
|
1
|
+
{"version":3,"file":"validation.d.ts","sourceRoot":"","sources":["../src/validation.ts"],"names":[],"mappings":"AACA,OAAO,CAAC,MAAM,KAAK,CAAC;AAEpB,eAAO,IAAI,oBAAoB,GAAI,QAAQ,MAAM,EAAE,SAAS,MAAM,EAAE,GAAG,CAAC,CAAC,QAAQ,gEAShF,CAAC;AAEF,eAAO,IAAI,QAAQ,GAAI,CAAC,EACtB,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EACpB,MAAM,OAAO,EACb,QAAQ,MAAM,EACd,SAAS,MAAM,KACd,CAOF,CAAC;AAEF,eAAO,IAAI,YAAY,GAAI,QAAQ,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,yGAc7C,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@slates/provider-handler",
|
|
3
|
-
"version": "1.0.0-rc.
|
|
3
|
+
"version": "1.0.0-rc.3",
|
|
4
4
|
"publishConfig": {
|
|
5
5
|
"access": "public"
|
|
6
6
|
},
|
|
@@ -31,7 +31,7 @@
|
|
|
31
31
|
},
|
|
32
32
|
"dependencies": {
|
|
33
33
|
"@lowerdeck/error": "^1.0.8",
|
|
34
|
-
"@slates/proto": "^1.0.0-rc.
|
|
34
|
+
"@slates/proto": "^1.0.0-rc.5",
|
|
35
35
|
"@slates/provider": "^1.0.0-rc.2",
|
|
36
36
|
"@slates/provider-handler": "^1.0.0-rc.2",
|
|
37
37
|
"zod": "^4.2.1"
|
package/src/index.ts
CHANGED
|
@@ -3,7 +3,7 @@ import { createSlatesProviderProtoHandler, SlatesParticipant } from '@slates/pro
|
|
|
3
3
|
import { Slate, SlateContext, SlateLogger, SlateLogListener } from '@slates/provider';
|
|
4
4
|
import { getAction, getActionWithType, getAuthMethod, mapAction, mapAuthMethod } from './spec';
|
|
5
5
|
import { State } from './state';
|
|
6
|
-
import { validate } from './validation';
|
|
6
|
+
import { toJsonSchema, validate } from './validation';
|
|
7
7
|
|
|
8
8
|
export let createProviderHandler = <ConfigType extends {}, AuthType extends {}>(
|
|
9
9
|
slate: Slate<ConfigType, AuthType>,
|
|
@@ -156,7 +156,7 @@ export let createProviderHandler = <ConfigType extends {}, AuthType extends {}>(
|
|
|
156
156
|
manager.onRequest('slates/config.schema.get', async ({ params }) => {
|
|
157
157
|
getContextBasic();
|
|
158
158
|
|
|
159
|
-
return { schema: slate.spec.configSchema
|
|
159
|
+
return { schema: toJsonSchema(slate.spec.configSchema) };
|
|
160
160
|
});
|
|
161
161
|
|
|
162
162
|
manager.onRequest('slates/provider.identify', async ({ params }) => {
|
package/src/spec.ts
CHANGED
|
@@ -2,6 +2,7 @@ import { badRequestError, notFoundError, ServiceError } from '@lowerdeck/error';
|
|
|
2
2
|
import { SlateAuthenticationMethod, SlatesAction } from '@slates/proto';
|
|
3
3
|
import { Slate, SlateDefaultPollingIntervalSeconds } from '@slates/provider';
|
|
4
4
|
import z from 'zod';
|
|
5
|
+
import { toJsonSchema } from './validation';
|
|
5
6
|
|
|
6
7
|
export let getAuthMethod = <ConfigType extends {}, AuthType extends {}>(
|
|
7
8
|
slate: Slate<ConfigType, AuthType>,
|
|
@@ -36,8 +37,8 @@ export let mapAuthMethod = <ConfigType extends {}, AuthType extends {}>(
|
|
|
36
37
|
}))
|
|
37
38
|
: undefined,
|
|
38
39
|
|
|
39
|
-
inputSchema: (m.inputSchema ?? z.object({}))
|
|
40
|
-
outputSchema: slate.spec.auth.outputSchema
|
|
40
|
+
inputSchema: toJsonSchema(m.inputSchema ?? z.object({})),
|
|
41
|
+
outputSchema: toJsonSchema(slate.spec.auth.outputSchema),
|
|
41
42
|
|
|
42
43
|
capabilities: {
|
|
43
44
|
getDefaultInput: { enabled: !!('getDefaultInput' in m && m.getDefaultInput) },
|
|
@@ -97,8 +98,8 @@ export let mapAction = <ConfigType extends {}, AuthType extends {}>(
|
|
|
97
98
|
tags: a.tags,
|
|
98
99
|
metadata: a.metadata,
|
|
99
100
|
|
|
100
|
-
inputSchema: a.inputSchema
|
|
101
|
-
outputSchema: a.outputSchema
|
|
101
|
+
inputSchema: toJsonSchema(a.inputSchema),
|
|
102
|
+
outputSchema: toJsonSchema(a.outputSchema)
|
|
102
103
|
};
|
|
103
104
|
|
|
104
105
|
if (a.type == 'tool') {
|
package/src/validation.ts
CHANGED
|
@@ -25,3 +25,19 @@ export let validate = <T>(
|
|
|
25
25
|
|
|
26
26
|
return result.data;
|
|
27
27
|
};
|
|
28
|
+
|
|
29
|
+
export let toJsonSchema = (schema: z.ZodType<any>) =>
|
|
30
|
+
schema.toJSONSchema({
|
|
31
|
+
unrepresentable: 'any',
|
|
32
|
+
override: ctx => {
|
|
33
|
+
let def = ctx.zodSchema._zod.def;
|
|
34
|
+
|
|
35
|
+
if (def.type === 'date') {
|
|
36
|
+
ctx.jsonSchema.type = 'string';
|
|
37
|
+
ctx.jsonSchema.format = 'date-time';
|
|
38
|
+
}
|
|
39
|
+
if (def.type === 'bigint') {
|
|
40
|
+
ctx.jsonSchema.type = 'number';
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
});
|