diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index bbf24437..1cba3029 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -19,7 +19,7 @@ jobs: runs-on: ${{ github.repository == 'stainless-sdks/hyperspell-typescript' && 'depot-ubuntu-24.04' || 'ubuntu-latest' }} if: github.event_name == 'push' || github.event.pull_request.head.repo.fork steps: - - uses: actions/checkout@v4 + - uses: actions/checkout@v6 - name: Set up Node uses: actions/setup-node@v4 @@ -41,7 +41,7 @@ jobs: contents: read id-token: write steps: - - uses: actions/checkout@v4 + - uses: actions/checkout@v6 - name: Set up Node uses: actions/setup-node@v4 @@ -57,7 +57,7 @@ jobs: - name: Get GitHub OIDC Token if: github.repository == 'stainless-sdks/hyperspell-typescript' id: github-oidc - uses: actions/github-script@v6 + uses: actions/github-script@v8 with: script: core.setOutput('github_token', await core.getIDToken()); @@ -83,7 +83,7 @@ jobs: runs-on: ${{ github.repository == 'stainless-sdks/hyperspell-typescript' && 'depot-ubuntu-24.04' || 'ubuntu-latest' }} if: github.event_name == 'push' || github.event.pull_request.head.repo.fork steps: - - uses: actions/checkout@v4 + - uses: actions/checkout@v6 - name: Set up Node uses: actions/setup-node@v4 diff --git a/.github/workflows/publish-npm.yml b/.github/workflows/publish-npm.yml index 44d68bca..7c6f5dd8 100644 --- a/.github/workflows/publish-npm.yml +++ b/.github/workflows/publish-npm.yml @@ -20,7 +20,7 @@ jobs: contents: write steps: - - uses: actions/checkout@v4 + - uses: actions/checkout@v6 - name: Set up Node uses: actions/setup-node@v3 diff --git a/.github/workflows/release-doctor.yml b/.github/workflows/release-doctor.yml index d4928c11..f9ea8493 100644 --- a/.github/workflows/release-doctor.yml +++ b/.github/workflows/release-doctor.yml @@ -12,10 +12,11 @@ jobs: if: github.repository == 'hyperspell/node-sdk' && (github.event_name == 'push' || github.event_name == 'workflow_dispatch' || startsWith(github.head_ref, 'release-please') || github.head_ref == 'next') steps: - - uses: actions/checkout@v4 + - uses: actions/checkout@v6 - name: Check release environment run: | bash ./bin/check-release-environment env: NPM_TOKEN: ${{ secrets.HYPERSPELL_NPM_TOKEN || secrets.NPM_TOKEN }} + diff --git a/.release-please-manifest.json b/.release-please-manifest.json index 716d0046..8e3d9554 100644 --- a/.release-please-manifest.json +++ b/.release-please-manifest.json @@ -1,3 +1,3 @@ { - ".": "0.30.0" + ".": "0.31.0" } diff --git a/.stats.yml b/.stats.yml index b7a86017..737339ac 100644 --- a/.stats.yml +++ b/.stats.yml @@ -1,4 +1,4 @@ configured_endpoints: 23 -openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/hyperspell%2Fhyperspell-a73c73c4848db6cc0b836219f2ace7bc9f6b4611d36f9daa2158f8bd5a7d0864.yml -openapi_spec_hash: 4ef2aeca3ffe2c6e6fbca0770a69c6fb +openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/hyperspell%2Fhyperspell-34d6c3c2efa9b9b88d95ff49ff64f45440720b14a046edf3fac953d6eb0d13a1.yml +openapi_spec_hash: 80ce00b9f30af244e0a331c3430ed5e4 config_hash: bd77d0b7029518c697756456d6854f07 diff --git a/CHANGELOG.md b/CHANGELOG.md index f2334470..5bb33b4e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,20 @@ # Changelog +## 0.31.0 (2026-01-24) + +Full Changelog: [v0.30.0...v0.31.0](https://github.com/hyperspell/node-sdk/compare/v0.30.0...v0.31.0) + +### Features + +* **api:** api update ([a0df1be](https://github.com/hyperspell/node-sdk/commit/a0df1be8d411efda7d9c06ba663e64a72e308de0)) + + +### Chores + +* **ci:** upgrade `actions/github-script` ([090b5c1](https://github.com/hyperspell/node-sdk/commit/090b5c1a28992d318a2904cabe73556f61e76edf)) +* **internal:** update `actions/checkout` version ([954ce30](https://github.com/hyperspell/node-sdk/commit/954ce3099c58efa8c5071b6830dad969401a050a)) +* **internal:** update lock file ([e192aa3](https://github.com/hyperspell/node-sdk/commit/e192aa3c9ac16fb38cad2e56f2e46498eb11f8ee)) + ## 0.30.0 (2026-01-16) Full Changelog: [v0.29.0...v0.30.0](https://github.com/hyperspell/node-sdk/compare/v0.29.0...v0.30.0) diff --git a/MIGRATION.md b/MIGRATION.md index 3b0d7631..f4e786f4 100644 --- a/MIGRATION.md +++ b/MIGRATION.md @@ -234,8 +234,8 @@ The `for await` syntax **is not affected**. This still works as-is: ```ts // Automatically fetches more pages as needed. -for await (const memory of client.memories.list()) { - console.log(memory); +for await (const memoryListResponse of client.memories.list()) { + console.log(memoryListResponse); } ``` @@ -257,10 +257,10 @@ Page classes for individual methods are now type aliases: ```ts // Before -export class MemoriesCursorPage extends CursorPage {} +export class MemoryListResponsesCursorPage extends CursorPage {} // After -export type MemoriesCursorPage = CursorPage; +export type MemoryListResponsesCursorPage = CursorPage; ``` If you were importing these classes at runtime, you'll need to switch to importing the base class or only import them at the type-level. diff --git a/README.md b/README.md index 6e6fb8e3..46d3907d 100644 --- a/README.md +++ b/README.md @@ -167,13 +167,13 @@ List methods in the Hyperspell API are paginated. You can use the `for await … of` syntax to iterate through items across all pages: ```ts -async function fetchAllMemories(params) { - const allMemories = []; +async function fetchAllMemoryListResponses(params) { + const allMemoryListResponses = []; // Automatically fetches more pages as needed. - for await (const memory of client.memories.list({ collection: 'REPLACE_ME' })) { - allMemories.push(memory); + for await (const memoryListResponse of client.memories.list({ collection: 'REPLACE_ME' })) { + allMemoryListResponses.push(memoryListResponse); } - return allMemories; + return allMemoryListResponses; } ``` @@ -181,8 +181,8 @@ Alternatively, you can request a single page at a time: ```ts let page = await client.memories.list({ collection: 'REPLACE_ME' }); -for (const memory of page.items) { - console.log(memory); +for (const memoryListResponse of page.items) { + console.log(memoryListResponse); } // Convenience methods are provided for manually paginating: diff --git a/api.md b/api.md index d9277c64..278f87e3 100644 --- a/api.md +++ b/api.md @@ -62,20 +62,21 @@ Methods: Types: -- Memory - MemoryStatus +- MemoryListResponse - MemoryDeleteResponse - MemoryAddBulkResponse +- MemoryGetResponse - MemoryStatusResponse Methods: - client.memories.update(resourceID, { ...params }) -> MemoryStatus -- client.memories.list({ ...params }) -> MemoriesCursorPage +- client.memories.list({ ...params }) -> MemoryListResponsesCursorPage - client.memories.delete(resourceID, { ...params }) -> MemoryDeleteResponse - client.memories.add({ ...params }) -> MemoryStatus - client.memories.addBulk({ ...params }) -> MemoryAddBulkResponse -- client.memories.get(resourceID, { ...params }) -> Memory +- client.memories.get(resourceID, { ...params }) -> MemoryGetResponse - client.memories.search({ ...params }) -> QueryResult - client.memories.status() -> MemoryStatusResponse - client.memories.upload({ ...params }) -> MemoryStatus diff --git a/package.json b/package.json index 75244aaa..655d2f79 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "hyperspell", - "version": "0.30.0", + "version": "0.31.0", "description": "The official TypeScript library for the Hyperspell API", "author": "Hyperspell ", "types": "dist/index.d.ts", diff --git a/packages/mcp-server/package.json b/packages/mcp-server/package.json index 89e47e24..79d58962 100644 --- a/packages/mcp-server/package.json +++ b/packages/mcp-server/package.json @@ -1,6 +1,6 @@ { "name": "hyperspell-mcp", - "version": "0.30.0", + "version": "0.31.0", "description": "The official MCP Server for the Hyperspell API", "author": "Hyperspell ", "types": "dist/index.d.ts", diff --git a/packages/mcp-server/src/server.ts b/packages/mcp-server/src/server.ts index 2965bd0b..e69af78e 100644 --- a/packages/mcp-server/src/server.ts +++ b/packages/mcp-server/src/server.ts @@ -21,7 +21,7 @@ export const newMcpServer = () => new McpServer( { name: 'hyperspell_api', - version: '0.30.0', + version: '0.31.0', }, { capabilities: { tools: {}, logging: {} } }, ); diff --git a/packages/mcp-server/yarn.lock b/packages/mcp-server/yarn.lock index a592e9c7..fe102775 100644 --- a/packages/mcp-server/yarn.lock +++ b/packages/mcp-server/yarn.lock @@ -3302,9 +3302,6 @@ readable-stream@^3.4.0: string_decoder "^1.1.1" util-deprecate "^1.0.1" -"replicate@file:../../dist": - version "2.0.0-alpha.74" - require-directory@^2.1.1: version "2.1.1" resolved "https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42" diff --git a/src/client.ts b/src/client.ts index 416a7912..31bf87af 100644 --- a/src/client.ts +++ b/src/client.ts @@ -30,15 +30,16 @@ import { } from './resources/evaluate'; import { Memories, - MemoriesCursorPage, - Memory, MemoryAddBulkParams, MemoryAddBulkResponse, MemoryAddParams, MemoryDeleteParams, MemoryDeleteResponse, MemoryGetParams, + MemoryGetResponse, MemoryListParams, + MemoryListResponse, + MemoryListResponsesCursorPage, MemorySearchParams, MemoryStatus, MemoryStatusResponse, @@ -810,12 +811,13 @@ export declare namespace Hyperspell { export { Memories as Memories, - type Memory as Memory, type MemoryStatus as MemoryStatus, + type MemoryListResponse as MemoryListResponse, type MemoryDeleteResponse as MemoryDeleteResponse, type MemoryAddBulkResponse as MemoryAddBulkResponse, + type MemoryGetResponse as MemoryGetResponse, type MemoryStatusResponse as MemoryStatusResponse, - type MemoriesCursorPage as MemoriesCursorPage, + type MemoryListResponsesCursorPage as MemoryListResponsesCursorPage, type MemoryUpdateParams as MemoryUpdateParams, type MemoryListParams as MemoryListParams, type MemoryDeleteParams as MemoryDeleteParams, diff --git a/src/resources/index.ts b/src/resources/index.ts index 23089d86..8ae020bb 100644 --- a/src/resources/index.ts +++ b/src/resources/index.ts @@ -24,10 +24,11 @@ export { } from './integrations/integrations'; export { Memories, - type Memory, type MemoryStatus, + type MemoryListResponse, type MemoryDeleteResponse, type MemoryAddBulkResponse, + type MemoryGetResponse, type MemoryStatusResponse, type MemoryUpdateParams, type MemoryListParams, @@ -37,7 +38,7 @@ export { type MemoryGetParams, type MemorySearchParams, type MemoryUploadParams, - type MemoriesCursorPage, + type MemoryListResponsesCursorPage, } from './memories'; export { Vaults, diff --git a/src/resources/memories.ts b/src/resources/memories.ts index 8e471527..8676c0c8 100644 --- a/src/resources/memories.ts +++ b/src/resources/memories.ts @@ -37,7 +37,7 @@ export class Memories extends APIResource { * @example * ```ts * // Automatically fetches more pages as needed. - * for await (const memory of client.memories.list()) { + * for await (const memoryListResponse of client.memories.list()) { * // ... * } * ``` @@ -45,8 +45,8 @@ export class Memories extends APIResource { list( query: MemoryListParams | null | undefined = {}, options?: RequestOptions, - ): PagePromise { - return this._client.getAPIList('/memories/list', CursorPage, { query, ...options }); + ): PagePromise { + return this._client.getAPIList('/memories/list', CursorPage, { query, ...options }); } /** @@ -129,7 +129,7 @@ export class Memories extends APIResource { * }); * ``` */ - get(resourceID: string, params: MemoryGetParams, options?: RequestOptions): APIPromise { + get(resourceID: string, params: MemoryGetParams, options?: RequestOptions): APIPromise { const { source } = params; return this._client.get(path`/memories/get/${source}/${resourceID}`, options); } @@ -182,9 +182,27 @@ export class Memories extends APIResource { } } -export type MemoriesCursorPage = CursorPage; +export type MemoryListResponsesCursorPage = CursorPage; -export interface Memory { +export interface MemoryStatus { + resource_id: string; + + source: + | 'collections' + | 'reddit' + | 'notion' + | 'slack' + | 'google_calendar' + | 'google_mail' + | 'box' + | 'google_drive' + | 'vault' + | 'web_crawler'; + + status: 'pending' | 'processing' | 'completed' | 'failed'; +} + +export interface MemoryListResponse { resource_id: string; source: @@ -199,7 +217,7 @@ export interface Memory { | 'vault' | 'web_crawler'; - metadata?: Memory.Metadata; + metadata?: MemoryListResponse.Metadata; /** * The relevance of the resource to the query @@ -209,7 +227,7 @@ export interface Memory { title?: string | null; } -export namespace Memory { +export namespace MemoryListResponse { export interface Metadata { created_at?: string | null; @@ -237,24 +255,6 @@ export namespace Memory { } } -export interface MemoryStatus { - resource_id: string; - - source: - | 'collections' - | 'reddit' - | 'notion' - | 'slack' - | 'google_calendar' - | 'google_mail' - | 'box' - | 'google_drive' - | 'vault' - | 'web_crawler'; - - status: 'pending' | 'processing' | 'completed' | 'failed'; -} - export interface MemoryDeleteResponse { chunks_deleted: number; @@ -294,6 +294,59 @@ export interface MemoryAddBulkResponse { success?: boolean; } +export interface MemoryGetResponse { + resource_id: string; + + source: + | 'collections' + | 'reddit' + | 'notion' + | 'slack' + | 'google_calendar' + | 'google_mail' + | 'box' + | 'google_drive' + | 'vault' + | 'web_crawler'; + + metadata?: MemoryGetResponse.Metadata; + + /** + * The relevance of the resource to the query + */ + score?: number | null; + + title?: string | null; +} + +export namespace MemoryGetResponse { + export interface Metadata { + created_at?: string | null; + + events?: Array; + + indexed_at?: string | null; + + last_modified?: string | null; + + status?: 'pending' | 'processing' | 'completed' | 'failed'; + + url?: string | null; + + [k: string]: unknown; + } + + export namespace Metadata { + export interface Event { + message: string; + + type: 'error' | 'warning' | 'info' | 'success'; + + time?: string; + } + } +} + export interface MemoryStatusResponse { providers: { [key: string]: { [key: string]: number } }; @@ -953,12 +1006,13 @@ export interface MemoryUploadParams { export declare namespace Memories { export { - type Memory as Memory, type MemoryStatus as MemoryStatus, + type MemoryListResponse as MemoryListResponse, type MemoryDeleteResponse as MemoryDeleteResponse, type MemoryAddBulkResponse as MemoryAddBulkResponse, + type MemoryGetResponse as MemoryGetResponse, type MemoryStatusResponse as MemoryStatusResponse, - type MemoriesCursorPage as MemoriesCursorPage, + type MemoryListResponsesCursorPage as MemoryListResponsesCursorPage, type MemoryUpdateParams as MemoryUpdateParams, type MemoryListParams as MemoryListParams, type MemoryDeleteParams as MemoryDeleteParams, diff --git a/src/resources/shared.ts b/src/resources/shared.ts index 1fc4772c..3a4a309f 100644 --- a/src/resources/shared.ts +++ b/src/resources/shared.ts @@ -1,9 +1,7 @@ // File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details. -import * as MemoriesAPI from './memories'; - export interface QueryResult { - documents: Array; + documents: Array; /** * The answer to the query, if the request was set to answer. @@ -27,3 +25,58 @@ export interface QueryResult { */ score?: number | null; } + +export namespace QueryResult { + export interface Document { + resource_id: string; + + source: + | 'collections' + | 'reddit' + | 'notion' + | 'slack' + | 'google_calendar' + | 'google_mail' + | 'box' + | 'google_drive' + | 'vault' + | 'web_crawler'; + + metadata?: Document.Metadata; + + /** + * The relevance of the resource to the query + */ + score?: number | null; + + title?: string | null; + } + + export namespace Document { + export interface Metadata { + created_at?: string | null; + + events?: Array; + + indexed_at?: string | null; + + last_modified?: string | null; + + status?: 'pending' | 'processing' | 'completed' | 'failed'; + + url?: string | null; + + [k: string]: unknown; + } + + export namespace Metadata { + export interface Event { + message: string; + + type: 'error' | 'warning' | 'info' | 'success'; + + time?: string; + } + } + } +} diff --git a/src/version.ts b/src/version.ts index 91a9bb6d..b6314c28 100644 --- a/src/version.ts +++ b/src/version.ts @@ -1 +1 @@ -export const VERSION = '0.30.0'; // x-release-please-version +export const VERSION = '0.31.0'; // x-release-please-version