New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

@seamapi/http

Package Overview
Dependencies
Maintainers
6
Versions
86
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@seamapi/http - npm Package Compare versions

Comparing version 0.6.0 to 0.7.0

lib/seam/connect/seam-http-multi-workspace.d.ts

22

lib/seam/connect/auth.js

@@ -1,2 +0,2 @@

import { isSeamHttpOptionsWithApiKey, isSeamHttpOptionsWithClientSessionToken, isSeamHttpOptionsWithConsoleSessionToken, isSeamHttpOptionsWithPersonalAccessToken, SeamHttpInvalidOptionsError, } from './options.js';
import { isSeamHttpMultiWorkspaceOptionsWithConsoleSessionToken, isSeamHttpMultiWorkspaceOptionsWithPersonalAccessToken, isSeamHttpOptionsWithApiKey, isSeamHttpOptionsWithClientSessionToken, isSeamHttpOptionsWithConsoleSessionToken, isSeamHttpOptionsWithPersonalAccessToken, SeamHttpInvalidOptionsError, } from './options.js';
export const getAuthHeaders = (options) => {

@@ -12,6 +12,8 @@ if ('publishableKey' in options) {

}
if (isSeamHttpOptionsWithConsoleSessionToken(options)) {
if (isSeamHttpMultiWorkspaceOptionsWithConsoleSessionToken(options) ||
isSeamHttpOptionsWithConsoleSessionToken(options)) {
return getAuthHeadersForConsoleSessionToken(options);
}
if (isSeamHttpOptionsWithPersonalAccessToken(options)) {
if (isSeamHttpMultiWorkspaceOptionsWithPersonalAccessToken(options) ||
isSeamHttpOptionsWithPersonalAccessToken(options)) {
return getAuthHeadersForPersonalAccessToken(options);

@@ -24,4 +26,4 @@ }

'publishableKey,',
'consoleSessionToken with a workspaceId',
'or personalAccessToken with a workspaceId',
'consoleSessionToken',
'or personalAccessToken',
].join(' '));

@@ -67,3 +69,4 @@ };

};
const getAuthHeadersForConsoleSessionToken = ({ consoleSessionToken, workspaceId, }) => {
const getAuthHeadersForConsoleSessionToken = ({ consoleSessionToken, ...options }) => {
const workspaceId = 'workspaceId' in options ? options.workspaceId : undefined;
if (isAccessToken(consoleSessionToken)) {

@@ -83,6 +86,7 @@ throw new SeamHttpInvalidTokenError('An Access Token cannot be used as a consoleSessionToken');

authorization: `Bearer ${consoleSessionToken}`,
'seam-workspace-id': workspaceId,
...(workspaceId != null ? { 'seam-workspace-id': workspaceId } : {}),
};
};
const getAuthHeadersForPersonalAccessToken = ({ personalAccessToken, workspaceId, }) => {
const getAuthHeadersForPersonalAccessToken = ({ personalAccessToken, ...options }) => {
const workspaceId = 'workspaceId' in options ? options.workspaceId : undefined;
if (isJwt(personalAccessToken)) {

@@ -102,3 +106,3 @@ throw new SeamHttpInvalidTokenError('A JWT cannot be used as a personalAccessToken');

authorization: `Bearer ${personalAccessToken}`,
'seam-workspace-id': workspaceId,
...(workspaceId != null ? { 'seam-workspace-id': workspaceId } : {}),
};

@@ -105,0 +109,0 @@ };

@@ -0,1 +1,2 @@

export { SeamHttpInvalidTokenError } from './auth.js';
export * from './error-interceptor.js';

@@ -6,2 +7,3 @@ export * from './options.js';

export * from './seam-http-error.js';
export * from './seam-http-multi-workspace.js';
export * from '../../../lib/params-serializer.js';

@@ -0,1 +1,2 @@

export { SeamHttpInvalidTokenError } from './auth.js';
export * from './error-interceptor.js';

@@ -6,3 +7,4 @@ export * from './options.js';

export * from './seam-http-error.js';
export * from './seam-http-multi-workspace.js';
export * from '../../../lib/params-serializer.js';
//# sourceMappingURL=index.js.map
import type { Client, ClientOptions } from './client.js';
export type SeamHttpMultiWorkspaceOptions = SeamHttpMultiWorkspaceOptionsWithClient | SeamHttpMultiWorkspaceOptionsWithConsoleSessionToken | SeamHttpMultiWorkspaceOptionsWithPersonalAccessToken;
export type SeamHttpOptions = SeamHttpOptionsFromEnv | SeamHttpOptionsWithClient | SeamHttpOptionsWithApiKey | SeamHttpOptionsWithClientSessionToken | SeamHttpOptionsWithConsoleSessionToken | SeamHttpOptionsWithPersonalAccessToken;

@@ -10,2 +11,6 @@ interface SeamHttpCommonOptions extends ClientOptions {

}
export interface SeamHttpMultiWorkspaceOptionsWithClient {
client: Client;
}
export declare const isSeamHttpMultiWorkspaceOptionsWithClient: (options: SeamHttpOptions) => options is SeamHttpMultiWorkspaceOptionsWithClient;
export interface SeamHttpOptionsWithClient {

@@ -23,2 +28,6 @@ client: Client;

export declare const isSeamHttpOptionsWithClientSessionToken: (options: SeamHttpOptions) => options is SeamHttpOptionsWithClientSessionToken;
export interface SeamHttpMultiWorkspaceOptionsWithConsoleSessionToken extends SeamHttpCommonOptions {
consoleSessionToken: string;
}
export declare const isSeamHttpMultiWorkspaceOptionsWithConsoleSessionToken: (options: SeamHttpOptions) => options is SeamHttpMultiWorkspaceOptionsWithConsoleSessionToken;
export interface SeamHttpOptionsWithConsoleSessionToken extends SeamHttpCommonOptions {

@@ -29,2 +38,6 @@ consoleSessionToken: string;

export declare const isSeamHttpOptionsWithConsoleSessionToken: (options: SeamHttpOptions) => options is SeamHttpOptionsWithConsoleSessionToken;
export interface SeamHttpMultiWorkspaceOptionsWithPersonalAccessToken extends SeamHttpCommonOptions {
personalAccessToken: string;
}
export declare const isSeamHttpMultiWorkspaceOptionsWithPersonalAccessToken: (options: SeamHttpOptions) => options is SeamHttpMultiWorkspaceOptionsWithPersonalAccessToken;
export interface SeamHttpOptionsWithPersonalAccessToken extends SeamHttpCommonOptions {

@@ -38,2 +51,4 @@ personalAccessToken: string;

}
export declare class SeamHttpMultiWorkspaceInvalidOptionsError extends SeamHttpInvalidOptionsError {
}
export {};

@@ -0,1 +1,2 @@

export const isSeamHttpMultiWorkspaceOptionsWithClient = (options) => isSeamHttpOptionsWithClient(options);
export const isSeamHttpOptionsWithClient = (options) => {

@@ -44,3 +45,3 @@ if (!('client' in options))

};
export const isSeamHttpOptionsWithConsoleSessionToken = (options) => {
export const isSeamHttpMultiWorkspaceOptionsWithConsoleSessionToken = (options) => {
if (!('consoleSessionToken' in options))

@@ -50,5 +51,2 @@ return false;

return false;
if (!('workspaceId' in options) || options.workspaceId == null) {
throw new SeamHttpInvalidOptionsError('Must pass a workspaceId when using a consoleSessionToken');
}
if ('apiKey' in options && options.apiKey != null) {

@@ -65,3 +63,12 @@ throw new SeamHttpInvalidOptionsError('The apiKey option cannot be used with the consoleSessionToken option');

};
export const isSeamHttpOptionsWithPersonalAccessToken = (options) => {
export const isSeamHttpOptionsWithConsoleSessionToken = (options) => {
if (!isSeamHttpMultiWorkspaceOptionsWithConsoleSessionToken(options)) {
return false;
}
if (!('workspaceId' in options) || options.workspaceId == null) {
throw new SeamHttpInvalidOptionsError('Must pass a workspaceId when using a consoleSessionToken');
}
return true;
};
export const isSeamHttpMultiWorkspaceOptionsWithPersonalAccessToken = (options) => {
if (!('personalAccessToken' in options))

@@ -71,5 +78,2 @@ return false;

return false;
if (!('workspaceId' in options) || options.workspaceId == null) {
throw new SeamHttpInvalidOptionsError('Must pass a workspaceId when using a personalAccessToken');
}
if ('apiKey' in options && options.apiKey != null) {

@@ -86,2 +90,11 @@ throw new SeamHttpInvalidOptionsError('The apiKey option cannot be used with the personalAccessToken option');

};
export const isSeamHttpOptionsWithPersonalAccessToken = (options) => {
if (!isSeamHttpMultiWorkspaceOptionsWithPersonalAccessToken(options)) {
return false;
}
if (!('workspaceId' in options) || options.workspaceId == null) {
throw new SeamHttpInvalidOptionsError('Must pass a workspaceId when using a personalAccessToken');
}
return true;
};
export class SeamHttpInvalidOptionsError extends Error {

@@ -94,2 +107,4 @@ constructor(message) {

}
export class SeamHttpMultiWorkspaceInvalidOptionsError extends SeamHttpInvalidOptionsError {
}
//# sourceMappingURL=options.js.map
import type { ClientOptions } from './client.js';
import { type SeamHttpOptions } from './options.js';
export type Options = SeamHttpOptions & {
import { type SeamHttpMultiWorkspaceOptions, type SeamHttpOptions } from './options.js';
export type Options = SeamHttpMultiWorkspaceOptions | (SeamHttpOptions & {
publishableKey?: string;
};
});
export declare const parseOptions: (apiKeyOrOptions: string | Options) => ClientOptions;
import version from '../../../lib/version.js';
import { getAuthHeaders } from './auth.js';
import { isSeamHttpOptionsWithClient, isSeamHttpOptionsWithClientSessionToken, } from './options.js';
import { isSeamHttpMultiWorkspaceOptionsWithClient, isSeamHttpOptionsWithClient, isSeamHttpOptionsWithClientSessionToken, } from './options.js';
const defaultEndpoint = 'https://connect.getseam.com';

@@ -13,2 +13,4 @@ const sdkHeaders = {

return options;
if (isSeamHttpMultiWorkspaceOptionsWithClient(options))
return options;
return {

@@ -15,0 +17,0 @@ axiosOptions: {

@@ -1,2 +0,2 @@

declare const seamapiJavascriptHttpVersion = "0.6.0";
declare const seamapiJavascriptHttpVersion = "0.7.0";
export default seamapiJavascriptHttpVersion;

@@ -1,3 +0,3 @@

const seamapiJavascriptHttpVersion = '0.6.0';
const seamapiJavascriptHttpVersion = '0.7.0';
export default seamapiJavascriptHttpVersion;
//# sourceMappingURL=version.js.map
{
"name": "@seamapi/http",
"version": "0.6.0",
"version": "0.7.0",
"description": "JavaScript HTTP client for the Seam API written in TypeScript.",

@@ -5,0 +5,0 @@ "type": "module",

@@ -41,3 +41,3 @@ # Seam HTTP client.

```ts
import { SeamHttp } from '@seamapi/http'
import { SeamHttp } from '@seamapi/http/connect'

@@ -217,3 +217,3 @@ const seam = new SeamHttp('your-api-key')

```ts
import { SeamHttp, DevicesListResponse } from '@seamapi/http'
import { SeamHttp, DevicesListResponse } from '@seamapi/http/connect'

@@ -220,0 +220,0 @@ const seam = new SeamHttp()

import {
isSeamHttpMultiWorkspaceOptionsWithConsoleSessionToken,
isSeamHttpMultiWorkspaceOptionsWithPersonalAccessToken,
isSeamHttpOptionsWithApiKey,

@@ -7,2 +9,4 @@ isSeamHttpOptionsWithClientSessionToken,

SeamHttpInvalidOptionsError,
type SeamHttpMultiWorkspaceOptionsWithConsoleSessionToken,
type SeamHttpMultiWorkspaceOptionsWithPersonalAccessToken,
type SeamHttpOptionsWithApiKey,

@@ -30,7 +34,13 @@ type SeamHttpOptionsWithClientSessionToken,

if (isSeamHttpOptionsWithConsoleSessionToken(options)) {
if (
isSeamHttpMultiWorkspaceOptionsWithConsoleSessionToken(options) ||
isSeamHttpOptionsWithConsoleSessionToken(options)
) {
return getAuthHeadersForConsoleSessionToken(options)
}
if (isSeamHttpOptionsWithPersonalAccessToken(options)) {
if (
isSeamHttpMultiWorkspaceOptionsWithPersonalAccessToken(options) ||
isSeamHttpOptionsWithPersonalAccessToken(options)
) {
return getAuthHeadersForPersonalAccessToken(options)

@@ -45,4 +55,4 @@ }

'publishableKey,',
'consoleSessionToken with a workspaceId',
'or personalAccessToken with a workspaceId',
'consoleSessionToken',
'or personalAccessToken',
].join(' '),

@@ -123,4 +133,8 @@ )

consoleSessionToken,
workspaceId,
}: SeamHttpOptionsWithConsoleSessionToken): Headers => {
...options
}:
| SeamHttpMultiWorkspaceOptionsWithConsoleSessionToken
| SeamHttpOptionsWithConsoleSessionToken): Headers => {
const workspaceId = 'workspaceId' in options ? options.workspaceId : undefined
if (isAccessToken(consoleSessionToken)) {

@@ -152,3 +166,3 @@ throw new SeamHttpInvalidTokenError(

authorization: `Bearer ${consoleSessionToken}`,
'seam-workspace-id': workspaceId,
...(workspaceId != null ? { 'seam-workspace-id': workspaceId } : {}),
}

@@ -159,4 +173,8 @@ }

personalAccessToken,
workspaceId,
}: SeamHttpOptionsWithPersonalAccessToken): Headers => {
...options
}:
| SeamHttpMultiWorkspaceOptionsWithPersonalAccessToken
| SeamHttpOptionsWithPersonalAccessToken): Headers => {
const workspaceId = 'workspaceId' in options ? options.workspaceId : undefined
if (isJwt(personalAccessToken)) {

@@ -188,3 +206,3 @@ throw new SeamHttpInvalidTokenError(

authorization: `Bearer ${personalAccessToken}`,
'seam-workspace-id': workspaceId,
...(workspaceId != null ? { 'seam-workspace-id': workspaceId } : {}),
}

@@ -191,0 +209,0 @@ }

@@ -0,1 +1,2 @@

export { SeamHttpInvalidTokenError } from './auth.js'
export * from './error-interceptor.js'

@@ -6,2 +7,3 @@ export * from './options.js'

export * from './seam-http-error.js'
export * from './seam-http-multi-workspace.js'
export * from 'lib/params-serializer.js'
import type { Client, ClientOptions } from './client.js'
export type SeamHttpMultiWorkspaceOptions =
| SeamHttpMultiWorkspaceOptionsWithClient
| SeamHttpMultiWorkspaceOptionsWithConsoleSessionToken
| SeamHttpMultiWorkspaceOptionsWithPersonalAccessToken
export type SeamHttpOptions =

@@ -20,2 +25,11 @@ | SeamHttpOptionsFromEnv

export interface SeamHttpMultiWorkspaceOptionsWithClient {
client: Client
}
export const isSeamHttpMultiWorkspaceOptionsWithClient = (
options: SeamHttpOptions,
): options is SeamHttpMultiWorkspaceOptionsWithClient =>
isSeamHttpOptionsWithClient(options)
export interface SeamHttpOptionsWithClient {

@@ -106,20 +120,13 @@ client: Client

export interface SeamHttpOptionsWithConsoleSessionToken
export interface SeamHttpMultiWorkspaceOptionsWithConsoleSessionToken
extends SeamHttpCommonOptions {
consoleSessionToken: string
workspaceId: string
}
export const isSeamHttpOptionsWithConsoleSessionToken = (
export const isSeamHttpMultiWorkspaceOptionsWithConsoleSessionToken = (
options: SeamHttpOptions,
): options is SeamHttpOptionsWithConsoleSessionToken => {
): options is SeamHttpMultiWorkspaceOptionsWithConsoleSessionToken => {
if (!('consoleSessionToken' in options)) return false
if (options.consoleSessionToken == null) return false
if (!('workspaceId' in options) || options.workspaceId == null) {
throw new SeamHttpInvalidOptionsError(
'Must pass a workspaceId when using a consoleSessionToken',
)
}
if ('apiKey' in options && options.apiKey != null) {

@@ -146,20 +153,35 @@ throw new SeamHttpInvalidOptionsError(

export interface SeamHttpOptionsWithPersonalAccessToken
export interface SeamHttpOptionsWithConsoleSessionToken
extends SeamHttpCommonOptions {
personalAccessToken: string
consoleSessionToken: string
workspaceId: string
}
export const isSeamHttpOptionsWithPersonalAccessToken = (
export const isSeamHttpOptionsWithConsoleSessionToken = (
options: SeamHttpOptions,
): options is SeamHttpOptionsWithPersonalAccessToken => {
if (!('personalAccessToken' in options)) return false
if (options.personalAccessToken == null) return false
): options is SeamHttpOptionsWithConsoleSessionToken => {
if (!isSeamHttpMultiWorkspaceOptionsWithConsoleSessionToken(options)) {
return false
}
if (!('workspaceId' in options) || options.workspaceId == null) {
throw new SeamHttpInvalidOptionsError(
'Must pass a workspaceId when using a personalAccessToken',
'Must pass a workspaceId when using a consoleSessionToken',
)
}
return true
}
export interface SeamHttpMultiWorkspaceOptionsWithPersonalAccessToken
extends SeamHttpCommonOptions {
personalAccessToken: string
}
export const isSeamHttpMultiWorkspaceOptionsWithPersonalAccessToken = (
options: SeamHttpOptions,
): options is SeamHttpMultiWorkspaceOptionsWithPersonalAccessToken => {
if (!('personalAccessToken' in options)) return false
if (options.personalAccessToken == null) return false
if ('apiKey' in options && options.apiKey != null) {

@@ -186,2 +208,24 @@ throw new SeamHttpInvalidOptionsError(

export interface SeamHttpOptionsWithPersonalAccessToken
extends SeamHttpCommonOptions {
personalAccessToken: string
workspaceId: string
}
export const isSeamHttpOptionsWithPersonalAccessToken = (
options: SeamHttpOptions,
): options is SeamHttpOptionsWithPersonalAccessToken => {
if (!isSeamHttpMultiWorkspaceOptionsWithPersonalAccessToken(options)) {
return false
}
if (!('workspaceId' in options) || options.workspaceId == null) {
throw new SeamHttpInvalidOptionsError(
'Must pass a workspaceId when using a personalAccessToken',
)
}
return true
}
export class SeamHttpInvalidOptionsError extends Error {

@@ -194,1 +238,3 @@ constructor(message: string) {

}
export class SeamHttpMultiWorkspaceInvalidOptionsError extends SeamHttpInvalidOptionsError {}

@@ -6,4 +6,6 @@ import version from 'lib/version.js'

import {
isSeamHttpMultiWorkspaceOptionsWithClient,
isSeamHttpOptionsWithClient,
isSeamHttpOptionsWithClientSessionToken,
type SeamHttpMultiWorkspaceOptions,
type SeamHttpOptions,

@@ -19,3 +21,5 @@ } from './options.js'

export type Options = SeamHttpOptions & { publishableKey?: string }
export type Options =
| SeamHttpMultiWorkspaceOptions
| (SeamHttpOptions & { publishableKey?: string })

@@ -28,2 +32,3 @@ export const parseOptions = (

if (isSeamHttpOptionsWithClient(options)) return options
if (isSeamHttpMultiWorkspaceOptionsWithClient(options)) return options

@@ -30,0 +35,0 @@ return {

@@ -1,3 +0,3 @@

const seamapiJavascriptHttpVersion = '0.6.0'
const seamapiJavascriptHttpVersion = '0.7.0'
export default seamapiJavascriptHttpVersion

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc