@antseed/provider-core 0.2.10 → 0.2.12

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.
package/dist/index.d.ts CHANGED
@@ -3,5 +3,4 @@ export { swapAuthHeader, validateRequestService, KNOWN_AUTH_HEADERS } from './au
3
3
  export { StaticTokenProvider, OAuthTokenProvider, createTokenProvider, type AuthType } from './token-providers.js';
4
4
  export type { TokenProvider, TokenProviderState } from './token-providers.js';
5
5
  export { BaseProvider, type BaseProviderConfig } from './base-provider.js';
6
- export { applyMiddleware, detectRequestFormat, type ProviderMiddleware, type MiddlewarePosition, type RequestFormat } from './middleware.js';
7
6
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,KAAK,WAAW,EAAE,KAAK,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACnF,OAAO,EAAE,cAAc,EAAE,sBAAsB,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AAC5F,OAAO,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,KAAK,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AACnH,YAAY,EAAE,aAAa,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC9E,OAAO,EAAE,YAAY,EAAE,KAAK,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAC3E,OAAO,EAAE,eAAe,EAAE,mBAAmB,EAAE,KAAK,kBAAkB,EAAE,KAAK,kBAAkB,EAAE,KAAK,aAAa,EAAE,MAAM,iBAAiB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,KAAK,WAAW,EAAE,KAAK,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACnF,OAAO,EAAE,cAAc,EAAE,sBAAsB,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AAC5F,OAAO,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,KAAK,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AACnH,YAAY,EAAE,aAAa,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC9E,OAAO,EAAE,YAAY,EAAE,KAAK,kBAAkB,EAAE,MAAM,oBAAoB,CAAC"}
package/dist/index.js CHANGED
@@ -2,5 +2,4 @@ export { HttpRelay } from './http-relay.js';
2
2
  export { swapAuthHeader, validateRequestService, KNOWN_AUTH_HEADERS } from './auth-swap.js';
3
3
  export { StaticTokenProvider, OAuthTokenProvider, createTokenProvider } from './token-providers.js';
4
4
  export { BaseProvider } from './base-provider.js';
5
- export { applyMiddleware, detectRequestFormat } from './middleware.js';
6
5
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAyC,MAAM,iBAAiB,CAAC;AACnF,OAAO,EAAE,cAAc,EAAE,sBAAsB,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AAC5F,OAAO,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,mBAAmB,EAAiB,MAAM,sBAAsB,CAAC;AAEnH,OAAO,EAAE,YAAY,EAA2B,MAAM,oBAAoB,CAAC;AAC3E,OAAO,EAAE,eAAe,EAAE,mBAAmB,EAAwE,MAAM,iBAAiB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAyC,MAAM,iBAAiB,CAAC;AACnF,OAAO,EAAE,cAAc,EAAE,sBAAsB,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AAC5F,OAAO,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,mBAAmB,EAAiB,MAAM,sBAAsB,CAAC;AAEnH,OAAO,EAAE,YAAY,EAA2B,MAAM,oBAAoB,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@antseed/provider-core",
3
- "version": "0.2.10",
3
+ "version": "0.2.12",
4
4
  "description": "Shared provider infrastructure for Antseed plugins",
5
5
  "type": "module",
6
6
  "files": [
@@ -14,7 +14,7 @@
14
14
  "devDependencies": {
15
15
  "typescript": "^5.5.0",
16
16
  "vitest": "^2.0.0",
17
- "@antseed/node": "0.2.14"
17
+ "@antseed/node": "0.2.16"
18
18
  },
19
19
  "scripts": {
20
20
  "prebuild": "rm -rf dist",
@@ -1,23 +0,0 @@
1
- export type RequestFormat = 'anthropic' | 'openai';
2
- /** Detect request format from the request path. */
3
- export declare function detectRequestFormat(path?: string): RequestFormat;
4
- export type MiddlewarePosition = 'system-prepend' | 'system-append' | 'prepend' | 'append';
5
- export interface ProviderMiddleware {
6
- /** Markdown content to inject. */
7
- content: string;
8
- position: MiddlewarePosition;
9
- /** Role for 'prepend'/'append' positions. Default: 'user'. */
10
- role?: string;
11
- /** If set, only inject for requests targeting one of these service IDs. Applies to all services when omitted. */
12
- services?: string[];
13
- }
14
- /**
15
- * Inject middleware content into an already-parsed request body.
16
- * Handles both Anthropic format (top-level `system` string) and
17
- * OpenAI format (system role inside `messages` array).
18
- *
19
- * @param format - 'anthropic' (default) for Anthropic-style requests, 'openai' for
20
- * OpenAI-compatible requests where system prompts live inside `messages`.
21
- */
22
- export declare function applyMiddleware(body: Record<string, unknown>, middlewares: ProviderMiddleware[], format?: RequestFormat): Record<string, unknown>;
23
- //# sourceMappingURL=middleware.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"middleware.d.ts","sourceRoot":"","sources":["../src/middleware.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,aAAa,GAAG,WAAW,GAAG,QAAQ,CAAC;AAEnD,mDAAmD;AACnD,wBAAgB,mBAAmB,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,aAAa,CAEhE;AAED,MAAM,MAAM,kBAAkB,GAC1B,gBAAgB,GAChB,eAAe,GACf,SAAS,GACT,QAAQ,CAAC;AAEb,MAAM,WAAW,kBAAkB;IACjC,kCAAkC;IAClC,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,kBAAkB,CAAC;IAC7B,8DAA8D;IAC9D,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,iHAAiH;IACjH,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;CACrB;AAED;;;;;;;GAOG;AACH,wBAAgB,eAAe,CAC7B,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7B,WAAW,EAAE,kBAAkB,EAAE,EACjC,MAAM,GAAE,aAA2B,GAClC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAczB"}
@@ -1,81 +0,0 @@
1
- /** Detect request format from the request path. */
2
- export function detectRequestFormat(path) {
3
- return path?.includes('/chat/completions') ? 'openai' : 'anthropic';
4
- }
5
- /**
6
- * Inject middleware content into an already-parsed request body.
7
- * Handles both Anthropic format (top-level `system` string) and
8
- * OpenAI format (system role inside `messages` array).
9
- *
10
- * @param format - 'anthropic' (default) for Anthropic-style requests, 'openai' for
11
- * OpenAI-compatible requests where system prompts live inside `messages`.
12
- */
13
- export function applyMiddleware(body, middlewares, format = 'anthropic') {
14
- if (!middlewares.length)
15
- return body;
16
- let result = { ...body };
17
- for (const mw of middlewares) {
18
- if (mw.position === 'system-prepend' || mw.position === 'system-append') {
19
- result = applySystemMiddleware(result, mw, format);
20
- }
21
- else {
22
- result = applyMessagesMiddleware(result, mw);
23
- }
24
- }
25
- return result;
26
- }
27
- function applySystemMiddleware(body, mw, format) {
28
- const prepend = mw.position === 'system-prepend';
29
- if (format !== 'openai') {
30
- // Anthropic format: top-level `system` string or array of content blocks
31
- if (typeof body.system === 'string') {
32
- return {
33
- ...body,
34
- system: prepend
35
- ? `${mw.content}\n\n${body.system}`
36
- : `${body.system}\n\n${mw.content}`,
37
- };
38
- }
39
- if (Array.isArray(body.system)) {
40
- const block = { type: 'text', text: mw.content };
41
- return {
42
- ...body,
43
- system: prepend
44
- ? [block, ...body.system]
45
- : [...body.system, block],
46
- };
47
- }
48
- // No system field yet — create one
49
- return { ...body, system: mw.content };
50
- }
51
- // OpenAI format: system prompt lives inside the messages array
52
- const messages = Array.isArray(body.messages) ? [...body.messages] : [];
53
- const systemMsg = { role: 'system', content: mw.content };
54
- if (prepend) {
55
- // Insert before existing system messages (at index 0)
56
- messages.unshift(systemMsg);
57
- }
58
- else {
59
- // Insert after the last existing system message, or at the end
60
- const lastSystem = messages.reduceRight((acc, msg, i) => acc === -1 && msg.role === 'system' ? i : acc, -1);
61
- if (lastSystem === -1) {
62
- messages.push(systemMsg);
63
- }
64
- else {
65
- messages.splice(lastSystem + 1, 0, systemMsg);
66
- }
67
- }
68
- return { ...body, messages };
69
- }
70
- function applyMessagesMiddleware(body, mw) {
71
- const messages = Array.isArray(body.messages) ? [...body.messages] : [];
72
- const injected = { role: mw.role ?? 'user', content: mw.content };
73
- if (mw.position === 'prepend') {
74
- messages.unshift(injected);
75
- }
76
- else {
77
- messages.push(injected);
78
- }
79
- return { ...body, messages };
80
- }
81
- //# sourceMappingURL=middleware.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"middleware.js","sourceRoot":"","sources":["../src/middleware.ts"],"names":[],"mappings":"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"}