Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Empty file modified .devcontainer/Dockerfile
100644 → 100755
Empty file.
Empty file modified .devcontainer/devcontainer.json
100644 → 100755
Empty file.
Empty file modified .eslintrc.js
100644 → 100755
Empty file.
Empty file modified .github/workflows/ci.yml
100644 → 100755
Empty file.
Empty file modified .github/workflows/publish-npm.yml
100644 → 100755
Empty file.
Empty file modified .github/workflows/release-doctor.yml
100644 → 100755
Empty file.
Empty file modified .gitignore
100644 → 100755
Empty file.
Empty file modified .prettierignore
100644 → 100755
Empty file.
Empty file modified .prettierrc.json
100644 → 100755
Empty file.
2 changes: 1 addition & 1 deletion .release-please-manifest.json
100644 → 100755
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
{
".": "0.23.0"
".": "0.23.1"
}
2 changes: 1 addition & 1 deletion .stats.yml
100644 → 100755
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
configured_endpoints: 7
openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/propulsionai%2Fpropulsionai-643ad4ee18ac8eb8b4357fea1bc99ff45fb39d7910ffad8bd3d6d1709f78f00d.yml
openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/propulsionai%2Fpropulsionai-b37faf6ec15e2d0fe4c48b085d8d9d159f146f9aec80513fb8c2077241d7eb4d.yml
Empty file modified Brewfile
100644 → 100755
Empty file.
8 changes: 8 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,13 @@
# Changelog

## 0.23.1 (2024-08-24)

Full Changelog: [v0.23.0...v0.23.1](https://github.com/propulsion-ai/propulsionai-node/compare/v0.23.0...v0.23.1)

### Features

* **api:** OpenAPI spec update via Stainless API ([#169](https://github.com/propulsion-ai/propulsionai-node/issues/169)) ([6b39b79](https://github.com/propulsion-ai/propulsionai-node/commit/6b39b7960cf6f635130c8487fae4ddd3ad44aa16))

## 0.23.0 (2024-08-02)

Full Changelog: [v0.22.0...v0.23.0](https://github.com/propulsion-ai/propulsionai-node/compare/v0.22.0...v0.23.0)
Expand Down
Empty file modified CONTRIBUTING.md
100644 → 100755
Empty file.
Empty file modified LICENSE
100644 → 100755
Empty file.
Empty file modified README.md
100644 → 100755
Empty file.
Empty file modified SECURITY.md
100644 → 100755
Empty file.
Empty file modified api.md
100644 → 100755
Empty file.
Empty file modified bin/check-release-environment
100644 → 100755
Empty file.
Empty file modified bin/publish-npm
100644 → 100755
Empty file.
Empty file modified examples/.keep
100644 → 100755
Empty file.
Empty file modified jest.config.ts
100644 → 100755
Empty file.
2 changes: 1 addition & 1 deletion package.json
100644 → 100755
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "propulsionai",
"version": "0.23.0",
"version": "0.23.1",
"description": "The official TypeScript library for the PropulsionAI API",
"author": "PropulsionAI <dev-feedback@propulsionhq.com>",
"types": "dist/index.d.ts",
Expand Down
Empty file modified release-please-config.json
100644 → 100755
Empty file.
Empty file modified scripts/utils/check-version.cjs
100644 → 100755
Empty file.
Empty file modified scripts/utils/fix-index-exports.cjs
100644 → 100755
Empty file.
Empty file modified scripts/utils/make-dist-package-json.cjs
100644 → 100755
Empty file.
Empty file modified scripts/utils/postprocess-files.cjs
100644 → 100755
Empty file.
Empty file modified src/_shims/MultipartBody.ts
100644 → 100755
Empty file.
Empty file modified src/_shims/README.md
100644 → 100755
Empty file.
Empty file modified src/_shims/auto/runtime-bun.ts
100644 → 100755
Empty file.
Empty file modified src/_shims/auto/runtime-deno.ts
100644 → 100755
Empty file.
Empty file modified src/_shims/auto/runtime-node.ts
100644 → 100755
Empty file.
Empty file modified src/_shims/auto/runtime.ts
100644 → 100755
Empty file.
Empty file modified src/_shims/auto/types-deno.ts
100644 → 100755
Empty file.
Empty file modified src/_shims/auto/types-node.ts
100644 → 100755
Empty file.
Empty file modified src/_shims/auto/types.d.ts
100644 → 100755
Empty file.
Empty file modified src/_shims/auto/types.js
100644 → 100755
Empty file.
Empty file modified src/_shims/auto/types.mjs
100644 → 100755
Empty file.
Empty file modified src/_shims/bun-runtime.ts
100644 → 100755
Empty file.
Empty file modified src/_shims/index-deno.ts
100644 → 100755
Empty file.
Empty file modified src/_shims/index.d.ts
100644 → 100755
Empty file.
Empty file modified src/_shims/index.js
100644 → 100755
Empty file.
Empty file modified src/_shims/index.mjs
100644 → 100755
Empty file.
Empty file modified src/_shims/manual-types.d.ts
100644 → 100755
Empty file.
Empty file modified src/_shims/manual-types.js
100644 → 100755
Empty file.
Empty file modified src/_shims/manual-types.mjs
100644 → 100755
Empty file.
Empty file modified src/_shims/node-runtime.ts
100644 → 100755
Empty file.
Empty file modified src/_shims/node-types.d.ts
100644 → 100755
Empty file.
Empty file modified src/_shims/node-types.js
100644 → 100755
Empty file.
Empty file modified src/_shims/node-types.mjs
100644 → 100755
Empty file.
Empty file modified src/_shims/registry.ts
100644 → 100755
Empty file.
Empty file modified src/_shims/web-runtime.ts
100644 → 100755
Empty file.
Empty file modified src/_shims/web-types.d.ts
100644 → 100755
Empty file.
Empty file modified src/_shims/web-types.js
100644 → 100755
Empty file.
Empty file modified src/_shims/web-types.mjs
100644 → 100755
Empty file.
6 changes: 5 additions & 1 deletion src/core.ts
100644 → 100755
Original file line number Diff line number Diff line change
Expand Up @@ -215,7 +215,7 @@ export abstract class APIClient {
Accept: 'application/json',
'Content-Type': 'application/json',
'User-Agent': this.getUserAgent(),
...getPlatformHeaders(),
...getPlatformHeaders(),
...this.authHeaders(opts),
};
}
Expand Down Expand Up @@ -770,6 +770,8 @@ export type RequestOptions<
signal?: AbortSignal | undefined | null;
idempotencyKey?: string;



__binaryRequest?: boolean | undefined;
__binaryResponse?: boolean | undefined;
__streamClass?: typeof Stream;
Expand All @@ -792,6 +794,8 @@ const requestOptionsKeys: KeysEnum<RequestOptions> = {
signal: true,
idempotencyKey: true,



__binaryRequest: true,
__binaryResponse: true,
__streamClass: true,
Expand Down
26 changes: 10 additions & 16 deletions src/error.ts
100644 → 100755
Original file line number Diff line number Diff line change
Expand Up @@ -2,19 +2,18 @@

import { castToError, Headers } from './core';

export class PropulsionAIError extends Error {}
export class PropulsionAIError extends Error {
}

export class APIError extends PropulsionAIError {
readonly status: number | undefined;
readonly headers: Headers | undefined;
readonly error: Object | undefined;

constructor(
status: number | undefined,
error: Object | undefined,
message: string | undefined,
headers: Headers | undefined,
) {

;

constructor(status: number | undefined, error: Object | undefined, message: string | undefined, headers: Headers | undefined) {
super(`${APIError.makeMessage(status, error, message)}`);
this.status = status;
this.headers = headers;
Expand All @@ -24,8 +23,7 @@ export class APIError extends PropulsionAIError {
private static makeMessage(status: number | undefined, error: any, message: string | undefined) {
const msg =
error?.message ?
typeof error.message === 'string' ?
error.message
typeof error.message === 'string' ? error.message
: JSON.stringify(error.message)
: error ? JSON.stringify(error)
: message;
Expand All @@ -42,12 +40,7 @@ export class APIError extends PropulsionAIError {
return '(no status code or body)';
}

static generate(
status: number | undefined,
errorResponse: Object | undefined,
message: string | undefined,
headers: Headers | undefined,
) {
static generate(status: number | undefined, errorResponse: Object | undefined, message: string | undefined, headers: Headers | undefined) {
if (!status) {
return new APIConnectionError({ cause: castToError(errorResponse) });
}
Expand Down Expand Up @@ -143,4 +136,5 @@ export class RateLimitError extends APIError {
override readonly status: 429 = 429;
}

export class InternalServerError extends APIError {}
export class InternalServerError extends APIError {
}
27 changes: 7 additions & 20 deletions src/index.ts
100644 → 100755
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,8 @@

import * as Errors from './error';
import * as Uploads from './uploads';
import { type Agent } from './_shims/index';
import { isRequestOptions } from './core';
import { type Agent, type RequestInit } from './_shims/index';
import * as Core from './core';
import * as API from './resources/index';

Expand Down Expand Up @@ -70,7 +71,7 @@ export interface ClientOptions {
}

/**
* API Client for interfacing with the PropulsionAI API.
* API Client for interfacing with the PropulsionAI API.
*/
export class PropulsionAI extends Core.APIClient {
bearerToken: string;
Expand All @@ -96,7 +97,7 @@ export class PropulsionAI extends Core.APIClient {
}: ClientOptions = {}) {
if (bearerToken === undefined) {
throw new Errors.PropulsionAIError(
"The PROPULSIONAI_BEARER_TOKEN environment variable is missing or empty; either provide it, or instantiate the PropulsionAI client with an bearerToken option, like new PropulsionAI({ bearerToken: 'My Bearer Token' }).",
'The PROPULSIONAI_BEARER_TOKEN environment variable is missing or empty; either provide it, or instantiate the PropulsionAI client with an bearerToken option, like new PropulsionAI({ bearerToken: \'My Bearer Token\' }).'
);
}

Expand Down Expand Up @@ -124,7 +125,7 @@ export class PropulsionAI extends Core.APIClient {
knowledgebase: API.KnowledgebaseResource = new API.KnowledgebaseResource(this);

protected override defaultQuery(): Core.DefaultQuery | undefined {
return this._options.defaultQuery;
return this._options.defaultQuery
}

protected override defaultHeaders(opts: Core.FinalRequestOptions): Core.Headers {
Expand All @@ -139,7 +140,7 @@ export class PropulsionAI extends Core.APIClient {
}

static PropulsionAI = this;
static DEFAULT_TIMEOUT = 60000; // 1 minute
static DEFAULT_TIMEOUT = 60000 // 1 minute

static PropulsionAIError = Errors.PropulsionAIError;
static APIError = Errors.APIError;
Expand All @@ -159,21 +160,7 @@ export class PropulsionAI extends Core.APIClient {
static fileFromPath = Uploads.fileFromPath;
}

export const {
PropulsionAIError,
APIError,
APIConnectionError,
APIConnectionTimeoutError,
APIUserAbortError,
NotFoundError,
ConflictError,
RateLimitError,
BadRequestError,
AuthenticationError,
InternalServerError,
PermissionDeniedError,
UnprocessableEntityError,
} = Errors;
export const { PropulsionAIError, APIError, APIConnectionError, APIConnectionTimeoutError, APIUserAbortError, NotFoundError, ConflictError, RateLimitError, BadRequestError, AuthenticationError, InternalServerError, PermissionDeniedError, UnprocessableEntityError } = Errors

export import toFile = Uploads.toFile;
export import fileFromPath = Uploads.fileFromPath;
Expand Down
Empty file modified src/lib/.keep
100644 → 100755
Empty file.
Empty file modified src/resource.ts
100644 → 100755
Empty file.
4 changes: 4 additions & 0 deletions src/resources/chat/chat.ts
100644 → 100755
Original file line number Diff line number Diff line change
@@ -1,6 +1,10 @@
// File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.

import { APIResource } from '../../resource';
import { isRequestOptions } from '../../core';
import { APIPromise } from '../../core';
import * as Core from '../../core';
import { Completions } from './completions';
import * as CompletionsAPI from './completions';

export class Chat extends APIResource {
Expand Down
20 changes: 19 additions & 1 deletion src/resources/chat/completions.ts
100644 → 100755
Original file line number Diff line number Diff line change
@@ -1,6 +1,8 @@
// File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.

import { APIResource } from '../../resource';
import { isRequestOptions } from '../../core';
import { APIPromise } from '../../core';
import * as Core from '../../core';
import * as CompletionsAPI from './completions';
import { Stream } from '../../streaming';
Expand Down Expand Up @@ -368,13 +370,29 @@ export interface CompletionCreateParamsBase {

export namespace CompletionCreateParamsBase {
export interface Message {
content?: string;
content?: string | Array<Message.UnionMember1>;

role?: 'system' | 'user' | 'assistant' | 'tool';

tool_call_id?: string;
}

export namespace Message {
export interface UnionMember1 {
image_url?: UnionMember1.ImageURL;

text?: string;

type?: 'text' | 'image_url';
}

export namespace UnionMember1 {
export interface ImageURL {
url?: string;
}
}
}

export interface ChatCompletionNamedToolChoice {
function: ChatCompletionNamedToolChoice.Function;

Expand Down
Empty file modified src/resources/chat/index.ts
100644 → 100755
Empty file.
3 changes: 3 additions & 0 deletions src/resources/dataset/dataset.ts
100644 → 100755
Original file line number Diff line number Diff line change
@@ -1,7 +1,10 @@
// File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.

import { APIResource } from '../../resource';
import { isRequestOptions } from '../../core';
import { APIPromise } from '../../core';
import * as Core from '../../core';
import { Item } from './item';
import * as DatasetAPI from './dataset';
import * as ItemAPI from './item';

Expand Down
Empty file modified src/resources/dataset/index.ts
100644 → 100755
Empty file.
20 changes: 19 additions & 1 deletion src/resources/dataset/item.ts
100644 → 100755
Original file line number Diff line number Diff line change
@@ -1,6 +1,8 @@
// File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.

import { APIResource } from '../../resource';
import { isRequestOptions } from '../../core';
import { APIPromise } from '../../core';
import * as Core from '../../core';
import * as ItemAPI from './item';

Expand Down Expand Up @@ -52,11 +54,27 @@ export namespace ItemCreateParams {

export namespace Data {
export interface Message {
content?: string;
content?: string | Array<Message.UnionMember1>;

role?: 'system' | 'user' | 'assistant' | 'tool';
}

export namespace Message {
export interface UnionMember1 {
image_url?: UnionMember1.ImageURL;

text?: string;

type?: 'text' | 'image_url';
}

export namespace UnionMember1 {
export interface ImageURL {
url?: string;
}
}
}

export interface Tool {
function: Tool.Function;

Expand Down
6 changes: 1 addition & 5 deletions src/resources/index.ts
100644 → 100755
Original file line number Diff line number Diff line change
@@ -1,8 +1,4 @@
export { Chat } from './chat/chat';
export { CompletionCreateResponse, CompletionCreateParams, Completions } from './chat/completions';
export { DatasetCreateResponse, DatasetCreateParams, Dataset } from './dataset/dataset';
export {
Knowledgebase,
KnowledgebaseCreateParams,
KnowledgebaseResource,
} from './knowledgebase/knowledgebase';
export { Knowledgebase, KnowledgebaseCreateParams, KnowledgebaseResource } from './knowledgebase/knowledgebase';
31 changes: 8 additions & 23 deletions src/resources/knowledgebase/file.ts
100644 → 100755
Original file line number Diff line number Diff line change
@@ -1,47 +1,32 @@
// File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.

import { APIResource } from '../../resource';
import { isRequestOptions } from '../../core';
import { APIPromise } from '../../core';
import * as Core from '../../core';
import * as FileAPI from './file';
import { type Uploadable, multipartFormRequestOptions } from '../../core';

export class FileResource extends APIResource {
/**
* Uploads a file to a knowledgebase.
*/
create(
knowledgebaseCode: string,
body: FileCreateParams,
options?: Core.RequestOptions,
): Core.APIPromise<File> {
return this._client.post(
`/knowledgebase/${knowledgebaseCode}/file`,
Core.multipartFormRequestOptions({ body, ...options }),
);
create(knowledgebaseCode: string, body: FileCreateParams, options?: Core.RequestOptions): Core.APIPromise<File> {
return this._client.post(`/knowledgebase/${knowledgebaseCode}/file`, Core.multipartFormRequestOptions({ body, ...options }));
}

/**
* Deletes a file from a knowledgebase.
*/
delete(
knowledgebaseCode: string,
fileId: string,
options?: Core.RequestOptions,
): Core.APIPromise<FileDeleteResponse> {
delete(knowledgebaseCode: string, fileId: string, options?: Core.RequestOptions): Core.APIPromise<FileDeleteResponse> {
return this._client.delete(`/knowledgebase/${knowledgebaseCode}/file/${fileId}`, options);
}

/**
* Uploads a file to a knowledgebase.
*/
upload(
knowledgebaseCode: string,
body: FileUploadParams,
options?: Core.RequestOptions,
): Core.APIPromise<File> {
return this._client.post(
`/knowledgebase/${knowledgebaseCode}/file`,
Core.multipartFormRequestOptions({ body, ...options }),
);
upload(knowledgebaseCode: string, body: FileUploadParams, options?: Core.RequestOptions): Core.APIPromise<File> {
return this._client.post(`/knowledgebase/${knowledgebaseCode}/file`, Core.multipartFormRequestOptions({ body, ...options }));
}
}

Expand Down
9 changes: 1 addition & 8 deletions src/resources/knowledgebase/index.ts
100644 → 100755
Original file line number Diff line number Diff line change
@@ -1,12 +1,5 @@
// File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.

export {
File,
KnowledgebaseFileUploadResponse,
FileDeleteResponse,
FileCreateParams,
FileUploadParams,
FileResource,
} from './file';
export { File, KnowledgebaseFileUploadResponse, FileDeleteResponse, FileCreateParams, FileUploadParams, FileResource } from './file';
export { Knowledgebase, KnowledgebaseCreateParams, KnowledgebaseResource } from './knowledgebase';
export { KnowledgebaseItemResponse, ItemCreateParams, Item } from './item';
8 changes: 3 additions & 5 deletions src/resources/knowledgebase/item.ts
100644 → 100755
Original file line number Diff line number Diff line change
@@ -1,18 +1,16 @@
// File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.

import { APIResource } from '../../resource';
import { isRequestOptions } from '../../core';
import { APIPromise } from '../../core';
import * as Core from '../../core';
import * as ItemAPI from './item';

export class Item extends APIResource {
/**
* Upload content to a knowledgebase.
*/
create(
knowledgebaseCode: string,
body: ItemCreateParams,
options?: Core.RequestOptions,
): Core.APIPromise<KnowledgebaseItemResponse> {
create(knowledgebaseCode: string, body: ItemCreateParams, options?: Core.RequestOptions): Core.APIPromise<KnowledgebaseItemResponse> {
return this._client.post(`/knowledgebase/${knowledgebaseCode}/item`, { body, ...options });
}
}
Expand Down
4 changes: 4 additions & 0 deletions src/resources/knowledgebase/knowledgebase.ts
100644 → 100755
Original file line number Diff line number Diff line change
@@ -1,7 +1,11 @@
// File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.

import { APIResource } from '../../resource';
import { isRequestOptions } from '../../core';
import { APIPromise } from '../../core';
import * as Core from '../../core';
import { FileResource } from './file';
import { Item } from './item';
import * as KnowledgebaseAPI from './knowledgebase';
import * as FileAPI from './file';
import * as ItemAPI from './item';
Expand Down
Empty file modified src/shims/node.ts
100644 → 100755
Empty file.
Empty file modified src/shims/web.ts
100644 → 100755
Empty file.
Loading