diff --git a/.stats.yml b/.stats.yml
index 4f03232f..ff2805b6 100644
--- a/.stats.yml
+++ b/.stats.yml
@@ -1,2 +1,2 @@
configured_endpoints: 2
-openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/anthropic-e38cd52aed438cef6e0a25eeeab8ff6000583c3cf152a10f0c3610ceb3da7b4e.yml
+openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/anthropic-5903ec2fd4efd7f261908bc4ec8ecd6b19cb9efa79637ad273583f1b763f80fd.yml
diff --git a/api.md b/api.md
index 7c732d1d..c636b226 100644
--- a/api.md
+++ b/api.md
@@ -9,7 +9,7 @@ Types:
- ContentBlockStartEvent
- ContentBlockStopEvent
- ImageBlockParam
-- InputJsonDelta
+- InputJSONDelta
- Message
- MessageDeltaEvent
- MessageDeltaUsage
@@ -17,6 +17,7 @@ Types:
- MessageStartEvent
- MessageStopEvent
- MessageStreamEvent
+- Model
- RawContentBlockDeltaEvent
- RawContentBlockStartEvent
- RawContentBlockStopEvent
diff --git a/src/index.ts b/src/index.ts
index 7d1072d2..e2ce21c3 100644
--- a/src/index.ts
+++ b/src/index.ts
@@ -250,7 +250,7 @@ export namespace Anthropic {
export import ContentBlockStartEvent = API.ContentBlockStartEvent;
export import ContentBlockStopEvent = API.ContentBlockStopEvent;
export import ImageBlockParam = API.ImageBlockParam;
- export import InputJsonDelta = API.InputJsonDelta;
+ export import InputJSONDelta = API.InputJSONDelta;
export import Message = API.Message;
export import MessageDeltaEvent = API.MessageDeltaEvent;
export import MessageDeltaUsage = API.MessageDeltaUsage;
@@ -258,6 +258,7 @@ export namespace Anthropic {
export import MessageStartEvent = API.MessageStartEvent;
export import MessageStopEvent = API.MessageStopEvent;
export import MessageStreamEvent = API.MessageStreamEvent;
+ export import Model = API.Model;
export import RawContentBlockDeltaEvent = API.RawContentBlockDeltaEvent;
export import RawContentBlockStartEvent = API.RawContentBlockStartEvent;
export import RawContentBlockStopEvent = API.RawContentBlockStopEvent;
diff --git a/src/resources/completions.ts b/src/resources/completions.ts
index 0ecb1d44..fe9c2c0b 100644
--- a/src/resources/completions.ts
+++ b/src/resources/completions.ts
@@ -4,6 +4,7 @@ import { APIResource } from '../resource';
import { APIPromise } from '../core';
import * as Core from '../core';
import * as CompletionsAPI from './completions';
+import * as MessagesAPI from './messages';
import { Stream } from '../streaming';
export class Completions extends APIResource {
@@ -53,9 +54,11 @@ export interface Completion {
completion: string;
/**
- * The model that handled the request.
+ * The model that will complete your prompt.\n\nSee
+ * [models](https://docs.anthropic.com/en/docs/models-overview) for additional
+ * details and options.
*/
- model: string;
+ model: MessagesAPI.Model;
/**
* The reason that we stopped.
@@ -88,12 +91,11 @@ export interface CompletionCreateParamsBase {
max_tokens_to_sample: number;
/**
- * The model that will complete your prompt.
- *
- * See [models](https://docs.anthropic.com/en/docs/models-overview) for additional
+ * The model that will complete your prompt.\n\nSee
+ * [models](https://docs.anthropic.com/en/docs/models-overview) for additional
* details and options.
*/
- model: (string & {}) | 'claude-2.0' | 'claude-2.1' | 'claude-instant-1.2';
+ model: MessagesAPI.Model;
/**
* The prompt that you want Claude to complete.
diff --git a/src/resources/index.ts b/src/resources/index.ts
index 84f839d1..9b59bcbe 100644
--- a/src/resources/index.ts
+++ b/src/resources/index.ts
@@ -13,7 +13,7 @@ export {
ContentBlockStartEvent,
ContentBlockStopEvent,
ImageBlockParam,
- InputJsonDelta,
+ InputJSONDelta,
Message,
MessageDeltaEvent,
MessageDeltaUsage,
@@ -21,6 +21,7 @@ export {
MessageStartEvent,
MessageStopEvent,
MessageStreamEvent,
+ Model,
RawContentBlockDeltaEvent,
RawContentBlockStartEvent,
RawContentBlockStopEvent,
diff --git a/src/resources/messages.ts b/src/resources/messages.ts
index 76d7119c..681c829c 100644
--- a/src/resources/messages.ts
+++ b/src/resources/messages.ts
@@ -72,7 +72,7 @@ export namespace ImageBlockParam {
}
}
-export interface InputJsonDelta {
+export interface InputJSONDelta {
partial_json: string;
type: 'input_json_delta';
@@ -123,9 +123,11 @@ export interface Message {
content: Array;
/**
- * The model that handled the request.
+ * The model that will complete your prompt.\n\nSee
+ * [models](https://docs.anthropic.com/en/docs/models-overview) for additional
+ * details and options.
*/
- model: string;
+ model: Model;
/**
* Conversational role of the generated message.
@@ -202,8 +204,23 @@ export type MessageStopEvent = RawMessageStopEvent;
export type MessageStreamEvent = RawMessageStreamEvent;
+/**
+ * The model that will complete your prompt.\n\nSee
+ * [models](https://docs.anthropic.com/en/docs/models-overview) for additional
+ * details and options.
+ */
+export type Model =
+ | (string & {})
+ | 'claude-3-5-sonnet-20240620'
+ | 'claude-3-opus-20240229'
+ | 'claude-3-sonnet-20240229'
+ | 'claude-3-haiku-20240307'
+ | 'claude-2.1'
+ | 'claude-2.0'
+ | 'claude-instant-1.2';
+
export interface RawContentBlockDeltaEvent {
- delta: TextDelta | InputJsonDelta;
+ delta: TextDelta | InputJSONDelta;
index: number;
@@ -473,20 +490,11 @@ export interface MessageCreateParamsBase {
messages: Array;
/**
- * The model that will complete your prompt.
- *
- * See [models](https://docs.anthropic.com/en/docs/models-overview) for additional
+ * The model that will complete your prompt.\n\nSee
+ * [models](https://docs.anthropic.com/en/docs/models-overview) for additional
* details and options.
*/
- model:
- | (string & {})
- | 'claude-3-5-sonnet-20240620'
- | 'claude-3-opus-20240229'
- | 'claude-3-sonnet-20240229'
- | 'claude-3-haiku-20240307'
- | 'claude-2.1'
- | 'claude-2.0'
- | 'claude-instant-1.2';
+ model: Model;
/**
* An object describing metadata about the request.
@@ -714,7 +722,7 @@ export namespace Messages {
export import ContentBlockStartEvent = MessagesAPI.ContentBlockStartEvent;
export import ContentBlockStopEvent = MessagesAPI.ContentBlockStopEvent;
export import ImageBlockParam = MessagesAPI.ImageBlockParam;
- export import InputJsonDelta = MessagesAPI.InputJsonDelta;
+ export import InputJSONDelta = MessagesAPI.InputJSONDelta;
export import Message = MessagesAPI.Message;
export import MessageDeltaEvent = MessagesAPI.MessageDeltaEvent;
export import MessageDeltaUsage = MessagesAPI.MessageDeltaUsage;
@@ -722,6 +730,7 @@ export namespace Messages {
export import MessageStartEvent = MessagesAPI.MessageStartEvent;
export import MessageStopEvent = MessagesAPI.MessageStopEvent;
export import MessageStreamEvent = MessagesAPI.MessageStreamEvent;
+ export import Model = MessagesAPI.Model;
export import RawContentBlockDeltaEvent = MessagesAPI.RawContentBlockDeltaEvent;
export import RawContentBlockStartEvent = MessagesAPI.RawContentBlockStartEvent;
export import RawContentBlockStopEvent = MessagesAPI.RawContentBlockStopEvent;
diff --git a/tests/api-resources/completions.test.ts b/tests/api-resources/completions.test.ts
index 546dcc74..4508a959 100644
--- a/tests/api-resources/completions.test.ts
+++ b/tests/api-resources/completions.test.ts
@@ -12,7 +12,7 @@ describe('resource completions', () => {
test('create: only required params', async () => {
const responsePromise = anthropic.completions.create({
max_tokens_to_sample: 256,
- model: 'claude-2.1',
+ model: 'string',
prompt: '\n\nHuman: Hello, world!\n\nAssistant:',
});
const rawResponse = await responsePromise.asResponse();
@@ -27,7 +27,7 @@ describe('resource completions', () => {
test('create: required and optional params', async () => {
const response = await anthropic.completions.create({
max_tokens_to_sample: 256,
- model: 'claude-2.1',
+ model: 'string',
prompt: '\n\nHuman: Hello, world!\n\nAssistant:',
metadata: { user_id: '13803d75-b4b5-4c3e-b2a2-6f21399b021b' },
stop_sequences: ['string', 'string', 'string'],