@nirmos/sdk 0.1.0

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.
Files changed (136) hide show
  1. package/README.md +62 -0
  2. package/dist/cjs/client.js +61 -0
  3. package/dist/cjs/client.js.map +1 -0
  4. package/dist/cjs/core/errors.js +143 -0
  5. package/dist/cjs/core/errors.js.map +1 -0
  6. package/dist/cjs/core/metadata.js +104 -0
  7. package/dist/cjs/core/metadata.js.map +1 -0
  8. package/dist/cjs/core/transport.js +276 -0
  9. package/dist/cjs/core/transport.js.map +1 -0
  10. package/dist/cjs/core/types.js +3 -0
  11. package/dist/cjs/core/types.js.map +1 -0
  12. package/dist/cjs/gateway/chat-stream.js +262 -0
  13. package/dist/cjs/gateway/chat-stream.js.map +1 -0
  14. package/dist/cjs/gateway/chat.js +102 -0
  15. package/dist/cjs/gateway/chat.js.map +1 -0
  16. package/dist/cjs/gateway/embeddings.js +33 -0
  17. package/dist/cjs/gateway/embeddings.js.map +1 -0
  18. package/dist/cjs/gateway/gateway.js +18 -0
  19. package/dist/cjs/gateway/gateway.js.map +1 -0
  20. package/dist/cjs/gateway/images.js +36 -0
  21. package/dist/cjs/gateway/images.js.map +1 -0
  22. package/dist/cjs/gateway/mappers.js +184 -0
  23. package/dist/cjs/gateway/mappers.js.map +1 -0
  24. package/dist/cjs/gateway/types.js +3 -0
  25. package/dist/cjs/gateway/types.js.map +1 -0
  26. package/dist/cjs/index.js +25 -0
  27. package/dist/cjs/index.js.map +1 -0
  28. package/dist/cjs/package.json +3 -0
  29. package/dist/cjs/prompts/cache.js +48 -0
  30. package/dist/cjs/prompts/cache.js.map +1 -0
  31. package/dist/cjs/prompts/mappers.js +242 -0
  32. package/dist/cjs/prompts/mappers.js.map +1 -0
  33. package/dist/cjs/prompts/prompts.js +121 -0
  34. package/dist/cjs/prompts/prompts.js.map +1 -0
  35. package/dist/cjs/prompts/render.js +86 -0
  36. package/dist/cjs/prompts/render.js.map +1 -0
  37. package/dist/cjs/prompts/types.js +3 -0
  38. package/dist/cjs/prompts/types.js.map +1 -0
  39. package/dist/cjs/prompts/versions.js +51 -0
  40. package/dist/cjs/prompts/versions.js.map +1 -0
  41. package/dist/esm/client.d.ts +28 -0
  42. package/dist/esm/client.d.ts.map +1 -0
  43. package/dist/esm/client.js +58 -0
  44. package/dist/esm/client.js.map +1 -0
  45. package/dist/esm/core/errors.d.ts +72 -0
  46. package/dist/esm/core/errors.d.ts.map +1 -0
  47. package/dist/esm/core/errors.js +125 -0
  48. package/dist/esm/core/errors.js.map +1 -0
  49. package/dist/esm/core/metadata.d.ts +11 -0
  50. package/dist/esm/core/metadata.d.ts.map +1 -0
  51. package/dist/esm/core/metadata.js +95 -0
  52. package/dist/esm/core/metadata.js.map +1 -0
  53. package/dist/esm/core/transport.d.ts +28 -0
  54. package/dist/esm/core/transport.d.ts.map +1 -0
  55. package/dist/esm/core/transport.js +272 -0
  56. package/dist/esm/core/transport.js.map +1 -0
  57. package/dist/esm/core/types.d.ts +43 -0
  58. package/dist/esm/core/types.d.ts.map +1 -0
  59. package/dist/esm/core/types.js +2 -0
  60. package/dist/esm/core/types.js.map +1 -0
  61. package/dist/esm/gateway/chat-stream.d.ts +9 -0
  62. package/dist/esm/gateway/chat-stream.d.ts.map +1 -0
  63. package/dist/esm/gateway/chat-stream.js +258 -0
  64. package/dist/esm/gateway/chat-stream.js.map +1 -0
  65. package/dist/esm/gateway/chat.d.ts +12 -0
  66. package/dist/esm/gateway/chat.d.ts.map +1 -0
  67. package/dist/esm/gateway/chat.js +98 -0
  68. package/dist/esm/gateway/chat.js.map +1 -0
  69. package/dist/esm/gateway/embeddings.d.ts +9 -0
  70. package/dist/esm/gateway/embeddings.d.ts.map +1 -0
  71. package/dist/esm/gateway/embeddings.js +29 -0
  72. package/dist/esm/gateway/embeddings.js.map +1 -0
  73. package/dist/esm/gateway/gateway.d.ts +12 -0
  74. package/dist/esm/gateway/gateway.d.ts.map +1 -0
  75. package/dist/esm/gateway/gateway.js +14 -0
  76. package/dist/esm/gateway/gateway.js.map +1 -0
  77. package/dist/esm/gateway/images.d.ts +9 -0
  78. package/dist/esm/gateway/images.d.ts.map +1 -0
  79. package/dist/esm/gateway/images.js +32 -0
  80. package/dist/esm/gateway/images.js.map +1 -0
  81. package/dist/esm/gateway/mappers.d.ts +11 -0
  82. package/dist/esm/gateway/mappers.d.ts.map +1 -0
  83. package/dist/esm/gateway/mappers.js +174 -0
  84. package/dist/esm/gateway/mappers.js.map +1 -0
  85. package/dist/esm/gateway/types.d.ts +168 -0
  86. package/dist/esm/gateway/types.d.ts.map +1 -0
  87. package/dist/esm/gateway/types.js +2 -0
  88. package/dist/esm/gateway/types.js.map +1 -0
  89. package/dist/esm/index.d.ts +8 -0
  90. package/dist/esm/index.d.ts.map +1 -0
  91. package/dist/esm/index.js +4 -0
  92. package/dist/esm/index.js.map +1 -0
  93. package/dist/esm/prompts/cache.d.ts +13 -0
  94. package/dist/esm/prompts/cache.d.ts.map +1 -0
  95. package/dist/esm/prompts/cache.js +44 -0
  96. package/dist/esm/prompts/cache.js.map +1 -0
  97. package/dist/esm/prompts/mappers.d.ts +8 -0
  98. package/dist/esm/prompts/mappers.d.ts.map +1 -0
  99. package/dist/esm/prompts/mappers.js +235 -0
  100. package/dist/esm/prompts/mappers.js.map +1 -0
  101. package/dist/esm/prompts/prompts.d.ts +17 -0
  102. package/dist/esm/prompts/prompts.d.ts.map +1 -0
  103. package/dist/esm/prompts/prompts.js +117 -0
  104. package/dist/esm/prompts/prompts.js.map +1 -0
  105. package/dist/esm/prompts/render.d.ts +3 -0
  106. package/dist/esm/prompts/render.d.ts.map +1 -0
  107. package/dist/esm/prompts/render.js +83 -0
  108. package/dist/esm/prompts/render.js.map +1 -0
  109. package/dist/esm/prompts/types.d.ts +119 -0
  110. package/dist/esm/prompts/types.d.ts.map +1 -0
  111. package/dist/esm/prompts/types.js +2 -0
  112. package/dist/esm/prompts/types.js.map +1 -0
  113. package/dist/esm/prompts/versions.d.ts +12 -0
  114. package/dist/esm/prompts/versions.d.ts.map +1 -0
  115. package/dist/esm/prompts/versions.js +47 -0
  116. package/dist/esm/prompts/versions.js.map +1 -0
  117. package/package.json +50 -0
  118. package/src/client.ts +89 -0
  119. package/src/core/errors.ts +160 -0
  120. package/src/core/metadata.ts +141 -0
  121. package/src/core/transport.ts +331 -0
  122. package/src/core/types.ts +51 -0
  123. package/src/gateway/chat-stream.ts +307 -0
  124. package/src/gateway/chat.ts +134 -0
  125. package/src/gateway/embeddings.ts +44 -0
  126. package/src/gateway/gateway.ts +17 -0
  127. package/src/gateway/images.ts +41 -0
  128. package/src/gateway/mappers.ts +234 -0
  129. package/src/gateway/types.ts +206 -0
  130. package/src/index.ts +83 -0
  131. package/src/prompts/cache.ts +50 -0
  132. package/src/prompts/mappers.ts +318 -0
  133. package/src/prompts/prompts.ts +188 -0
  134. package/src/prompts/render.ts +117 -0
  135. package/src/prompts/types.ts +148 -0
  136. package/src/prompts/versions.ts +80 -0
@@ -0,0 +1,174 @@
1
+ import { asUnknownRecord, compactMetadata, extractMetadata, readArray, readNumber, readString, } from "../core/metadata.js";
2
+ export function toWireMessage(message) {
3
+ return {
4
+ role: message.role,
5
+ content: typeof message.content === "string"
6
+ ? message.content
7
+ : message.content.map((part) => {
8
+ if (part.type === "text")
9
+ return { type: "text", text: part.text };
10
+ if (part.type === "image") {
11
+ return {
12
+ type: "image_url",
13
+ image_url: { url: part.url, detail: part.detail },
14
+ };
15
+ }
16
+ return {
17
+ type: "audio",
18
+ audio: { data: part.data, format: part.format },
19
+ };
20
+ }),
21
+ ...(message.name ? { name: message.name } : {}),
22
+ ...(message.toolCallId ? { tool_call_id: message.toolCallId } : {}),
23
+ ...(message.toolCalls && message.toolCalls.length > 0
24
+ ? { tool_calls: message.toolCalls }
25
+ : {}),
26
+ };
27
+ }
28
+ export function normalizeUsage(value) {
29
+ const usage = asUnknownRecord(value);
30
+ const inputTokens = readNumber(usage, "input_tokens", "inputTokens", "prompt_tokens", "promptTokens") ?? 0;
31
+ const outputTokens = readNumber(usage, "output_tokens", "outputTokens", "completion_tokens", "completionTokens") ?? 0;
32
+ return {
33
+ inputTokens,
34
+ outputTokens,
35
+ totalTokens: readNumber(usage, "total_tokens", "totalTokens") ??
36
+ inputTokens + outputTokens,
37
+ cachedTokens: readNumber(usage, "cached_tokens", "cachedTokens"),
38
+ reasoningTokens: readNumber(usage, "reasoning_tokens", "reasoningTokens"),
39
+ };
40
+ }
41
+ export function normalizeChatCompletion(payload, response) {
42
+ const root = asUnknownRecord(payload);
43
+ const choices = readArray(root, "choices").map(normalizeChoice);
44
+ const metadata = compactMetadata(extractMetadata(response, payload));
45
+ return {
46
+ id: readString(root, "id") ?? metadata.requestId ?? "",
47
+ createdAt: readNumber(root, "created", "created_at", "createdAt") ?? 0,
48
+ model: readString(root, "model") ?? metadata.model ?? "",
49
+ choices,
50
+ outputText: choices
51
+ .map((choice) => typeof choice.message.content === "string"
52
+ ? choice.message.content
53
+ : choice.message.content
54
+ .filter((part) => part.type === "text")
55
+ .map((part) => (part.type === "text" ? part.text : ""))
56
+ .join(""))
57
+ .join(""),
58
+ usage: normalizeUsage(root.usage),
59
+ metadata,
60
+ };
61
+ }
62
+ export function normalizeEmbeddingResponse(payload, response) {
63
+ const root = asUnknownRecord(payload);
64
+ const metadata = compactMetadata(extractMetadata(response, payload));
65
+ return {
66
+ model: readString(root, "model") ?? metadata.model ?? "",
67
+ embeddings: readArray(root, "data", "embeddings").map((entry, position) => {
68
+ const item = asUnknownRecord(entry);
69
+ const index = readNumber(item, "index") ?? position;
70
+ const embedding = item.embedding ?? item.values ?? item.base64;
71
+ if (typeof embedding === "string")
72
+ return { index, base64: embedding };
73
+ return {
74
+ index,
75
+ values: Array.isArray(embedding)
76
+ ? embedding.filter((value) => typeof value === "number")
77
+ : [],
78
+ };
79
+ }),
80
+ usage: normalizeUsage(root.usage),
81
+ metadata,
82
+ };
83
+ }
84
+ export function normalizeImageGeneration(payload, response) {
85
+ const root = asUnknownRecord(payload);
86
+ const metadata = compactMetadata(extractMetadata(response, payload));
87
+ const usage = root.usage === undefined ? undefined : normalizeUsage(root.usage);
88
+ return {
89
+ id: readString(root, "id"),
90
+ createdAt: readNumber(root, "created", "created_at", "createdAt") ?? 0,
91
+ model: readString(root, "model") ?? metadata.model ?? "",
92
+ images: readArray(root, "data", "images").map((entry) => {
93
+ const image = asUnknownRecord(entry);
94
+ return {
95
+ url: readString(image, "url"),
96
+ base64: readString(image, "b64_json", "base64"),
97
+ revisedPrompt: readString(image, "revised_prompt", "revisedPrompt"),
98
+ mediaType: readString(image, "media_type", "mediaType"),
99
+ width: readNumber(image, "width"),
100
+ height: readNumber(image, "height"),
101
+ };
102
+ }),
103
+ usage,
104
+ metadata,
105
+ };
106
+ }
107
+ export function normalizeChoice(value) {
108
+ const choice = asUnknownRecord(value);
109
+ const message = asUnknownRecord(choice.message);
110
+ return {
111
+ index: readNumber(choice, "index") ?? 0,
112
+ message: normalizeMessage(message),
113
+ finishReason: normalizeFinishReason(readString(choice, "finish_reason", "finishReason")),
114
+ };
115
+ }
116
+ export function normalizeMessage(value) {
117
+ const message = asUnknownRecord(value);
118
+ const content = message.content;
119
+ const toolCalls = readArray(message, "tool_calls", "toolCalls").map(normalizeToolCall);
120
+ return {
121
+ role: (readString(message, "role") ?? "assistant"),
122
+ content: Array.isArray(content)
123
+ ? content.map(normalizeContentPart)
124
+ : typeof content === "string"
125
+ ? content
126
+ : "",
127
+ name: readString(message, "name"),
128
+ toolCallId: readString(message, "tool_call_id", "toolCallId"),
129
+ toolCalls: toolCalls.length > 0 ? toolCalls : undefined,
130
+ };
131
+ }
132
+ export function normalizeToolCall(value) {
133
+ const call = asUnknownRecord(value);
134
+ const fn = asUnknownRecord(call.function);
135
+ return {
136
+ id: readString(call, "id") ?? "",
137
+ type: "function",
138
+ function: {
139
+ name: readString(fn, "name") ?? "",
140
+ arguments: readString(fn, "arguments") ?? "",
141
+ },
142
+ };
143
+ }
144
+ function normalizeContentPart(value) {
145
+ const part = asUnknownRecord(value);
146
+ const type = readString(part, "type");
147
+ if (type === "image" || type === "image_url") {
148
+ const image = asUnknownRecord(part.image_url);
149
+ return {
150
+ type: "image",
151
+ url: readString(part, "url") ?? readString(image, "url") ?? "",
152
+ detail: (readString(part, "detail") ?? readString(image, "detail")),
153
+ };
154
+ }
155
+ if (type === "audio" || type === "input_audio") {
156
+ const audio = asUnknownRecord(part.audio ?? part.input_audio);
157
+ return {
158
+ type: "audio",
159
+ data: readString(part, "data") ?? readString(audio, "data") ?? "",
160
+ format: readString(part, "format") ?? readString(audio, "format") ?? "",
161
+ };
162
+ }
163
+ return { type: "text", text: readString(part, "text") ?? "" };
164
+ }
165
+ function normalizeFinishReason(value) {
166
+ if (!value)
167
+ return null;
168
+ if (value === "tool_calls")
169
+ return "toolCalls";
170
+ if (value === "content_filter")
171
+ return "contentFilter";
172
+ return value;
173
+ }
174
+ //# sourceMappingURL=mappers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mappers.js","sourceRoot":"","sources":["../../../src/gateway/mappers.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,168 @@
1
+ import type { ExtensibleString, JsonValue, RequestMetadata, Usage } from "../core/types.js";
2
+ import type { PromptCacheMode, PromptIdentifier, PromptVariableValues } from "../prompts/types.js";
3
+ export type ChatRole = "system" | "developer" | "user" | "assistant" | "tool";
4
+ export interface TextContentPart {
5
+ type: "text";
6
+ text: string;
7
+ }
8
+ export interface ImageContentPart {
9
+ type: "image";
10
+ url: string;
11
+ detail?: "auto" | "low" | "high";
12
+ }
13
+ export interface AudioContentPart {
14
+ type: "audio";
15
+ data: string;
16
+ format: string;
17
+ }
18
+ export type ChatContentPart = TextContentPart | ImageContentPart | AudioContentPart;
19
+ export interface FunctionToolCall {
20
+ id: string;
21
+ type: "function";
22
+ function: {
23
+ name: string;
24
+ arguments: string;
25
+ };
26
+ }
27
+ export interface ChatMessage {
28
+ role: ChatRole;
29
+ content: string | readonly ChatContentPart[];
30
+ name?: string;
31
+ toolCallId?: string;
32
+ toolCalls?: readonly FunctionToolCall[];
33
+ }
34
+ export interface FunctionTool {
35
+ type: "function";
36
+ function: {
37
+ name: string;
38
+ description?: string;
39
+ parameters?: Readonly<Record<string, unknown>>;
40
+ strict?: boolean;
41
+ };
42
+ }
43
+ export type ToolChoice = "auto" | "none" | "required" | {
44
+ type: "function";
45
+ function: {
46
+ name: string;
47
+ };
48
+ };
49
+ export type ResponseFormat = {
50
+ type: "text";
51
+ } | {
52
+ type: "jsonObject";
53
+ } | {
54
+ type: "jsonSchema";
55
+ name: string;
56
+ schema: Readonly<Record<string, unknown>>;
57
+ strict?: boolean;
58
+ };
59
+ export type RoutingStrategy = ExtensibleString<"auto" | "cheapest" | "fastest" | "highestQuality" | "reasoning" | "specific">;
60
+ export interface PromptReference {
61
+ id: PromptIdentifier;
62
+ version?: number | "active" | "latest";
63
+ variables?: PromptVariableValues;
64
+ cache?: PromptCacheMode;
65
+ /** Prompt messages are inserted before request messages by default. */
66
+ position?: "before" | "after";
67
+ }
68
+ export interface ChatCreateParams {
69
+ model: string;
70
+ messages?: readonly ChatMessage[];
71
+ /** Resolve and render a managed prompt before sending the gateway request. */
72
+ prompt?: PromptReference;
73
+ temperature?: number;
74
+ topP?: number;
75
+ maxOutputTokens?: number;
76
+ stop?: string | readonly string[];
77
+ tools?: readonly FunctionTool[];
78
+ toolChoice?: ToolChoice;
79
+ responseFormat?: ResponseFormat;
80
+ seed?: number;
81
+ user?: string;
82
+ provider?: string;
83
+ fallbackModels?: readonly string[];
84
+ routingStrategy?: RoutingStrategy;
85
+ metadata?: Readonly<Record<string, JsonValue>>;
86
+ }
87
+ export type FinishReason = ExtensibleString<"stop" | "length" | "toolCalls" | "contentFilter">;
88
+ export interface ChatChoice {
89
+ index: number;
90
+ message: ChatMessage;
91
+ finishReason: FinishReason | null;
92
+ }
93
+ export interface ChatCompletion {
94
+ id: string;
95
+ createdAt: number;
96
+ model: string;
97
+ choices: readonly ChatChoice[];
98
+ outputText: string;
99
+ usage: Usage;
100
+ metadata: RequestMetadata;
101
+ }
102
+ export interface ChatStreamEvent {
103
+ type: ExtensibleString<"content.delta" | "toolCall.delta" | "completion.completed">;
104
+ id: string;
105
+ model: string;
106
+ choiceIndex?: number;
107
+ delta?: string;
108
+ toolCall?: Partial<FunctionToolCall>;
109
+ completion?: ChatCompletion;
110
+ metadata: RequestMetadata;
111
+ }
112
+ export interface EmbeddingCreateParams {
113
+ model: string;
114
+ input: string | readonly string[];
115
+ dimensions?: number;
116
+ encoding?: "float" | "base64";
117
+ user?: string;
118
+ provider?: string;
119
+ fallbackModels?: readonly string[];
120
+ routingStrategy?: RoutingStrategy;
121
+ }
122
+ export type Embedding = {
123
+ index: number;
124
+ values: readonly number[];
125
+ base64?: never;
126
+ } | {
127
+ index: number;
128
+ values?: never;
129
+ base64: string;
130
+ };
131
+ export interface EmbeddingResponse {
132
+ model: string;
133
+ embeddings: readonly Embedding[];
134
+ usage: Usage;
135
+ metadata: RequestMetadata;
136
+ }
137
+ export type ImageSize = ExtensibleString<"256x256" | "512x512" | "1024x1024" | "1024x1792" | "1792x1024" | "auto">;
138
+ export interface ImageGenerateParams {
139
+ model: string;
140
+ prompt: string;
141
+ count?: number;
142
+ size?: ImageSize;
143
+ quality?: ExtensibleString<"standard" | "hd" | "low" | "medium" | "high" | "auto">;
144
+ style?: ExtensibleString<"natural" | "vivid">;
145
+ format?: ExtensibleString<"png" | "jpeg" | "webp">;
146
+ responseFormat?: "url" | "base64";
147
+ background?: ExtensibleString<"transparent" | "opaque" | "auto">;
148
+ user?: string;
149
+ provider?: string;
150
+ metadata?: Readonly<Record<string, JsonValue>>;
151
+ }
152
+ export interface GeneratedImage {
153
+ url?: string;
154
+ base64?: string;
155
+ revisedPrompt?: string;
156
+ mediaType?: string;
157
+ width?: number;
158
+ height?: number;
159
+ }
160
+ export interface ImageGeneration {
161
+ id?: string;
162
+ createdAt: number;
163
+ model: string;
164
+ images: readonly GeneratedImage[];
165
+ usage?: Usage;
166
+ metadata: RequestMetadata;
167
+ }
168
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/gateway/types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/gateway/types.ts"],"names":[],"mappings":""}
@@ -0,0 +1,8 @@
1
+ export { Nirmos, NirmosClient } from "./client.js";
2
+ export type { NirmosOptions } from "./client.js";
3
+ export { APIError, AuthenticationError, ConfigurationError, ConflictError, NetworkError, NirmosError, NotFoundError, PermissionDeniedError, PromptRenderError, RateLimitError, RequestAbortedError, ServerError, StreamError, TimeoutError, ValidationError, } from "./core/errors.js";
4
+ export type { HeadersInput, JsonPrimitive, JsonValue, Page, RequestMetadata, RequestOptions, Usage, } from "./core/types.js";
5
+ export { ChatStream } from "./gateway/chat-stream.js";
6
+ export type { AudioContentPart, ChatChoice, ChatCompletion, ChatContentPart, ChatCreateParams, ChatMessage, ChatRole, ChatStreamEvent, Embedding, EmbeddingCreateParams, EmbeddingResponse, FinishReason, FunctionTool, FunctionToolCall, GeneratedImage, ImageContentPart, ImageGenerateParams, ImageGeneration, ImageSize, PromptReference, ResponseFormat, RoutingStrategy, TextContentPart, ToolChoice, } from "./gateway/types.js";
7
+ export type { ChatPromptContent, Prompt, PromptCacheConfig, PromptCacheMode, PromptContent, PromptCreateParams, PromptIdentifier, PromptRenderOptions, PromptRenderReference, PromptRetrieveOptions, PromptStatus, PromptUpdateParams, PromptVariable, PromptVariableType, PromptVariableValue, PromptVariableValues, PromptVersion, PromptVersionCreateParams, PromptVersionListOptions, PromptVersionPage, RenderedPrompt, TextPromptContent, } from "./prompts/types.js";
8
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AACnD,YAAY,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAEjD,OAAO,EACL,QAAQ,EACR,mBAAmB,EACnB,kBAAkB,EAClB,aAAa,EACb,YAAY,EACZ,WAAW,EACX,aAAa,EACb,qBAAqB,EACrB,iBAAiB,EACjB,cAAc,EACd,mBAAmB,EACnB,WAAW,EACX,WAAW,EACX,YAAY,EACZ,eAAe,GAChB,MAAM,kBAAkB,CAAC;AAE1B,YAAY,EACV,YAAY,EACZ,aAAa,EACb,SAAS,EACT,IAAI,EACJ,eAAe,EACf,cAAc,EACd,KAAK,GACN,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AACtD,YAAY,EACV,gBAAgB,EAChB,UAAU,EACV,cAAc,EACd,eAAe,EACf,gBAAgB,EAChB,WAAW,EACX,QAAQ,EACR,eAAe,EACf,SAAS,EACT,qBAAqB,EACrB,iBAAiB,EACjB,YAAY,EACZ,YAAY,EACZ,gBAAgB,EAChB,cAAc,EACd,gBAAgB,EAChB,mBAAmB,EACnB,eAAe,EACf,SAAS,EACT,eAAe,EACf,cAAc,EACd,eAAe,EACf,eAAe,EACf,UAAU,GACX,MAAM,oBAAoB,CAAC;AAE5B,YAAY,EACV,iBAAiB,EACjB,MAAM,EACN,iBAAiB,EACjB,eAAe,EACf,aAAa,EACb,kBAAkB,EAClB,gBAAgB,EAChB,mBAAmB,EACnB,qBAAqB,EACrB,qBAAqB,EACrB,YAAY,EACZ,kBAAkB,EAClB,cAAc,EACd,kBAAkB,EAClB,mBAAmB,EACnB,oBAAoB,EACpB,aAAa,EACb,yBAAyB,EACzB,wBAAwB,EACxB,iBAAiB,EACjB,cAAc,EACd,iBAAiB,GAClB,MAAM,oBAAoB,CAAC"}
@@ -0,0 +1,4 @@
1
+ export { Nirmos, NirmosClient } from "./client.js";
2
+ export { APIError, AuthenticationError, ConfigurationError, ConflictError, NetworkError, NirmosError, NotFoundError, PermissionDeniedError, PromptRenderError, RateLimitError, RequestAbortedError, ServerError, StreamError, TimeoutError, ValidationError, } from "./core/errors.js";
3
+ export { ChatStream } from "./gateway/chat-stream.js";
4
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAGnD,OAAO,EACL,QAAQ,EACR,mBAAmB,EACnB,kBAAkB,EAClB,aAAa,EACb,YAAY,EACZ,WAAW,EACX,aAAa,EACb,qBAAqB,EACrB,iBAAiB,EACjB,cAAc,EACd,mBAAmB,EACnB,WAAW,EACX,WAAW,EACX,YAAY,EACZ,eAAe,GAChB,MAAM,kBAAkB,CAAC;AAY1B,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC"}
@@ -0,0 +1,13 @@
1
+ export interface CacheEntry<T> {
2
+ value: T;
3
+ expiresAt: number;
4
+ }
5
+ export declare class MemoryCache<T> {
6
+ #private;
7
+ constructor(maxEntries: number, ttlMs: number);
8
+ get(key: string): T | undefined;
9
+ set(key: string, value: T): void;
10
+ deleteMatching(predicate: (key: string) => boolean): void;
11
+ clear(): void;
12
+ }
13
+ //# sourceMappingURL=cache.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cache.d.ts","sourceRoot":"","sources":["../../../src/prompts/cache.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,UAAU,CAAC,CAAC;IAC3B,KAAK,EAAE,CAAC,CAAC;IACT,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,qBAAa,WAAW,CAAC,CAAC;;gBAKZ,UAAU,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM;IAK7C,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,CAAC,GAAG,SAAS;IAY/B,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,GAAG,IAAI;IAahC,cAAc,CAAC,SAAS,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,GAAG,IAAI;IAMzD,KAAK,IAAI,IAAI;CAGd"}
@@ -0,0 +1,44 @@
1
+ export class MemoryCache {
2
+ #entries = new Map();
3
+ #maxEntries;
4
+ #ttlMs;
5
+ constructor(maxEntries, ttlMs) {
6
+ this.#maxEntries = maxEntries;
7
+ this.#ttlMs = ttlMs;
8
+ }
9
+ get(key) {
10
+ const entry = this.#entries.get(key);
11
+ if (!entry)
12
+ return undefined;
13
+ if (entry.expiresAt <= Date.now()) {
14
+ this.#entries.delete(key);
15
+ return undefined;
16
+ }
17
+ this.#entries.delete(key);
18
+ this.#entries.set(key, entry);
19
+ return entry.value;
20
+ }
21
+ set(key, value) {
22
+ this.#entries.delete(key);
23
+ this.#entries.set(key, {
24
+ value,
25
+ expiresAt: Date.now() + this.#ttlMs,
26
+ });
27
+ while (this.#entries.size > this.#maxEntries) {
28
+ const oldest = this.#entries.keys().next().value;
29
+ if (oldest === undefined)
30
+ break;
31
+ this.#entries.delete(oldest);
32
+ }
33
+ }
34
+ deleteMatching(predicate) {
35
+ for (const key of this.#entries.keys()) {
36
+ if (predicate(key))
37
+ this.#entries.delete(key);
38
+ }
39
+ }
40
+ clear() {
41
+ this.#entries.clear();
42
+ }
43
+ }
44
+ //# sourceMappingURL=cache.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cache.js","sourceRoot":"","sources":["../../../src/prompts/cache.ts"],"names":[],"mappings":"AAKA,MAAM,OAAO,WAAW;IACb,QAAQ,GAAG,IAAI,GAAG,EAAyB,CAAC;IAC5C,WAAW,CAAS;IACpB,MAAM,CAAS;IAExB,YAAY,UAAkB,EAAE,KAAa;QAC3C,IAAI,CAAC,WAAW,GAAG,UAAU,CAAC;QAC9B,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;IACtB,CAAC;IAED,GAAG,CAAC,GAAW;QACb,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACrC,IAAI,CAAC,KAAK;YAAE,OAAO,SAAS,CAAC;QAC7B,IAAI,KAAK,CAAC,SAAS,IAAI,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC;YAClC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YAC1B,OAAO,SAAS,CAAC;QACnB,CAAC;QACD,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QAC1B,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;QAC9B,OAAO,KAAK,CAAC,KAAK,CAAC;IACrB,CAAC;IAED,GAAG,CAAC,GAAW,EAAE,KAAQ;QACvB,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QAC1B,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,EAAE;YACrB,KAAK;YACL,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,MAAM;SACpC,CAAC,CAAC;QACH,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;YAC7C,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,CAAC,KAA2B,CAAC;YACvE,IAAI,MAAM,KAAK,SAAS;gBAAE,MAAM;YAChC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAC/B,CAAC;IACH,CAAC;IAED,cAAc,CAAC,SAAmC;QAChD,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,EAAE,CAAC;YACvC,IAAI,SAAS,CAAC,GAAG,CAAC;gBAAE,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QAChD,CAAC;IACH,CAAC;IAED,KAAK;QACH,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC;IACxB,CAAC;CACF"}
@@ -0,0 +1,8 @@
1
+ import type { Page } from "../core/types.js";
2
+ import type { Prompt, PromptCreateParams, PromptVersion, PromptVersionCreateParams } from "./types.js";
3
+ export declare function toWirePromptCreate(params: PromptCreateParams): Record<string, unknown>;
4
+ export declare function toWireVersionCreate(params: PromptVersionCreateParams): Record<string, unknown>;
5
+ export declare function normalizePrompt(payload: unknown, response: Response): Prompt;
6
+ export declare function normalizeVersion(payload: unknown): PromptVersion;
7
+ export declare function normalizeVersionPage(payload: unknown): Page<PromptVersion>;
8
+ //# sourceMappingURL=mappers.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mappers.d.ts","sourceRoot":"","sources":["../../../src/prompts/mappers.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAa,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAExD,OAAO,KAAK,EACV,MAAM,EAEN,kBAAkB,EAElB,aAAa,EACb,yBAAyB,EAC1B,MAAM,YAAY,CAAC;AAEpB,wBAAgB,kBAAkB,CAChC,MAAM,EAAE,kBAAkB,GACzB,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAazB;AAED,wBAAgB,mBAAmB,CACjC,MAAM,EAAE,yBAAyB,GAChC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAQzB;AAED,wBAAgB,eAAe,CAAC,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,GAAG,MAAM,CA6C5E;AAED,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,OAAO,GAAG,aAAa,CAchE;AAED,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAAC,aAAa,CAAC,CAgB1E"}