promptopskit 0.4.2 → 0.5.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.
- package/README.md +98 -57
- package/SKILL.md +360 -6
- package/dist/chunk-6BOUQVSX.js +130 -0
- package/dist/chunk-6BOUQVSX.js.map +1 -0
- package/dist/{chunk-7MRMN3SW.js → chunk-6VLKZCNS.js} +6 -4
- package/dist/chunk-6VLKZCNS.js.map +1 -0
- package/dist/{chunk-HWEVRBKZ.js → chunk-AGTGIZMR.js} +6 -2
- package/dist/chunk-AGTGIZMR.js.map +1 -0
- package/dist/{chunk-XL76NHZR.js → chunk-D75HKF64.js} +6 -4
- package/dist/chunk-D75HKF64.js.map +1 -0
- package/dist/{chunk-5AAYDOPU.js → chunk-IN4KT5EU.js} +4 -3
- package/dist/chunk-IN4KT5EU.js.map +1 -0
- package/dist/{chunk-JKBWC5WJ.js → chunk-K6ZU3CGV.js} +22 -5
- package/dist/chunk-K6ZU3CGV.js.map +1 -0
- package/dist/{chunk-YI4LILPY.js → chunk-KN7H4JRK.js} +61 -4
- package/dist/chunk-KN7H4JRK.js.map +1 -0
- package/dist/{chunk-Z4IPWEUU.js → chunk-LNGHGGJN.js} +6 -4
- package/dist/chunk-LNGHGGJN.js.map +1 -0
- package/dist/{chunk-MI3M6KDD.js → chunk-QK3WKE3K.js} +6 -4
- package/dist/chunk-QK3WKE3K.js.map +1 -0
- package/dist/cli/index.js +27 -5
- package/dist/cli/index.js.map +1 -1
- package/dist/index.cjs +233 -21
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +9 -9
- package/dist/index.d.ts +9 -9
- package/dist/index.js +32 -10
- package/dist/index.js.map +1 -1
- package/dist/providers/anthropic.cjs +82 -8
- package/dist/providers/anthropic.cjs.map +1 -1
- package/dist/providers/anthropic.d.cts +2 -2
- package/dist/providers/anthropic.d.ts +2 -2
- package/dist/providers/anthropic.js +3 -3
- package/dist/providers/gemini.cjs +82 -8
- package/dist/providers/gemini.cjs.map +1 -1
- package/dist/providers/gemini.d.cts +2 -2
- package/dist/providers/gemini.d.ts +2 -2
- package/dist/providers/gemini.js +3 -3
- package/dist/providers/llmasaservice.cjs +1467 -0
- package/dist/providers/llmasaservice.cjs.map +1 -0
- package/dist/providers/llmasaservice.d.cts +28 -0
- package/dist/providers/llmasaservice.d.ts +28 -0
- package/dist/providers/llmasaservice.js +20 -0
- package/dist/providers/llmasaservice.js.map +1 -0
- package/dist/providers/openai-responses.cjs +82 -8
- package/dist/providers/openai-responses.cjs.map +1 -1
- package/dist/providers/openai-responses.d.cts +2 -2
- package/dist/providers/openai-responses.d.ts +2 -2
- package/dist/providers/openai-responses.js +3 -3
- package/dist/providers/openai.cjs +82 -8
- package/dist/providers/openai.cjs.map +1 -1
- package/dist/providers/openai.d.cts +2 -2
- package/dist/providers/openai.d.ts +2 -2
- package/dist/providers/openai.js +3 -3
- package/dist/providers/openrouter.cjs +83 -8
- package/dist/providers/openrouter.cjs.map +1 -1
- package/dist/providers/openrouter.d.cts +2 -2
- package/dist/providers/openrouter.d.ts +2 -2
- package/dist/providers/openrouter.js +4 -4
- package/dist/{schema-B9A1zLRk.d.cts → schema-D-RI4w-k.d.cts} +695 -183
- package/dist/{schema-B9A1zLRk.d.ts → schema-D-RI4w-k.d.ts} +695 -183
- package/dist/testing.cjs +21 -4
- package/dist/testing.cjs.map +1 -1
- package/dist/testing.d.cts +1 -1
- package/dist/testing.d.ts +1 -1
- package/dist/testing.js +1 -1
- package/dist/{types-DjGAwJxC.d.ts → types-B3dxBGu6.d.ts} +18 -6
- package/dist/{types-DpbzzZO2.d.cts → types-DbTAjlTN.d.cts} +18 -6
- package/dist/usagetap/index.cjs +6 -1
- package/dist/usagetap/index.cjs.map +1 -1
- package/dist/usagetap/index.d.cts +4 -3
- package/dist/usagetap/index.d.ts +4 -3
- package/dist/usagetap/index.js +3 -1
- package/package.json +11 -1
- package/dist/chunk-5AAYDOPU.js.map +0 -1
- package/dist/chunk-7MRMN3SW.js.map +0 -1
- package/dist/chunk-HWEVRBKZ.js.map +0 -1
- package/dist/chunk-JKBWC5WJ.js.map +0 -1
- package/dist/chunk-MI3M6KDD.js.map +0 -1
- package/dist/chunk-XL76NHZR.js.map +0 -1
- package/dist/chunk-YI4LILPY.js.map +0 -1
- package/dist/chunk-Z4IPWEUU.js.map +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/providers/gemini.ts"],"sourcesContent":["import type { ResolvedPromptAsset } from '../schema/index.js';\nimport type {\n ProviderAdapter,\n ProviderRequest,\n ValidationResult,\n RuntimeRenderOptions,\n} from './types.js';\nimport { renderSections } from '../renderer/index.js';\nimport { resolveAssetForProvider } from './resolve-asset.js';\nimport { withPromptInputSupport } from './prompt-input.js';\nimport { applyRawProviderBody } from './raw.js';\nimport { compactHistoryForPrompt } from '../history.js';\n\n/**\n * Google Gemini provider adapter.\n * Produces request bodies compatible with the Gemini generateContent API.\n */\nexport const geminiAdapter: ProviderAdapter = withPromptInputSupport({\n name: 'gemini',\n\n validate(asset: ResolvedPromptAsset, runtime?: RuntimeRenderOptions): ValidationResult {\n const resolvedAsset = resolveAssetForProvider(asset, runtime);\n const errors: string[] = [];\n const warnings: string[] = [];\n const geminiCache = resolvedAsset.cache?.gemini?.cached_content;\n const googleCache = resolvedAsset.cache?.google?.cached_content;\n\n if (!resolvedAsset.model) {\n errors.push('Gemini adapter requires a model to be specified.');\n }\n\n if (resolvedAsset.sampling?.frequency_penalty !== undefined) {\n warnings.push('Gemini does not support frequency_penalty. It will be ignored.');\n }\n if (resolvedAsset.sampling?.presence_penalty !== undefined) {\n warnings.push('Gemini does not support presence_penalty. It will be ignored.');\n }\n if (geminiCache && googleCache && geminiCache !== googleCache) {\n warnings.push('Both cache.gemini.cached_content and cache.google.cached_content are set. Gemini uses cache.gemini.cached_content.');\n }\n if (resolvedAsset.response?.stream !== undefined) {\n warnings.push('Gemini streaming is endpoint-based (streamGenerateContent), not body-based. response.stream will be ignored.');\n }\n\n return { valid: errors.length === 0, errors, warnings };\n },\n\n render(asset: ResolvedPromptAsset, runtime: RuntimeRenderOptions): ProviderRequest {\n const resolvedAsset = resolveAssetForProvider(asset, runtime);\n const sections = renderSections(resolvedAsset, {\n variables: runtime.variables,\n strict: runtime.strict,\n });\n\n const contents: Array<Record<string, unknown>> = [];\n\n // History\n const history = compactHistoryForPrompt(resolvedAsset, runtime);\n if (history) {\n for (const msg of history) {\n contents.push({\n role: msg.role === 'assistant' ? 'model' : 'user',\n parts: [{ text: msg.content }],\n });\n }\n }\n\n // User message (prompt template)\n if (sections.prompt_template) {\n contents.push({\n role: 'user',\n parts: [{ text: sections.prompt_template }],\n });\n }\n\n const body: Record<string, unknown> = {\n contents,\n };\n const geminiCacheConfig = resolvedAsset.cache?.gemini ?? resolvedAsset.cache?.google;\n\n // System instruction\n if (sections.system_instructions) {\n body.systemInstruction = {\n parts: [{ text: sections.system_instructions }],\n };\n }\n\n // Generation config\n const generationConfig: Record<string, unknown> = {};\n\n const geminiOptions = resolvedAsset.provider_options?.gemini;\n\n if (resolvedAsset.sampling?.temperature !== undefined) generationConfig.temperature = resolvedAsset.sampling.temperature;\n if (resolvedAsset.sampling?.top_p !== undefined) generationConfig.topP = resolvedAsset.sampling.top_p;\n if (resolvedAsset.sampling?.max_output_tokens !== undefined) generationConfig.maxOutputTokens = resolvedAsset.sampling.max_output_tokens;\n if (resolvedAsset.sampling?.stop !== undefined) generationConfig.stopSequences = resolvedAsset.sampling.stop;\n\n if (geminiOptions?.candidate_count !== undefined) generationConfig.candidateCount = geminiOptions.candidate_count;\n if (geminiOptions?.top_k !== undefined) generationConfig.topK = geminiOptions.top_k;\n if (geminiOptions?.seed !== undefined) generationConfig.seed = geminiOptions.seed;\n if (geminiOptions?.response_modalities !== undefined) generationConfig.responseModalities = geminiOptions.response_modalities;\n\n if (resolvedAsset.response?.schema !== undefined) generationConfig.responseJsonSchema = resolvedAsset.response.schema;\n if (geminiOptions?.response_schema !== undefined) generationConfig.responseSchema = geminiOptions.response_schema;\n if (geminiOptions?.response_json_schema !== undefined) generationConfig.responseJsonSchema = geminiOptions.response_json_schema;\n\n if (resolvedAsset.response?.format === 'json') {\n generationConfig.responseMimeType = 'application/json';\n }\n\n // Thinking config\n if (geminiOptions?.thinking_budget_tokens !== undefined) {\n body.thinkingConfig = {\n thinkingBudget: geminiOptions.thinking_budget_tokens,\n };\n } else if (resolvedAsset.reasoning?.effort) {\n body.thinkingConfig = {\n thinkingBudget: resolvedAsset.reasoning.effort === 'high' ? 8192 : resolvedAsset.reasoning.effort === 'medium' ? 4096 : 1024,\n };\n }\n\n if (Object.keys(generationConfig).length > 0) {\n body.generationConfig = generationConfig;\n }\n\n if (geminiCacheConfig?.cached_content) {\n body.cachedContent = geminiCacheConfig.cached_content;\n }\n\n // Tools\n if (resolvedAsset.tools && resolvedAsset.tools.length > 0) {\n const functionDeclarations = resolvedAsset.tools.map((tool) => {\n if (typeof tool === 'string') {\n const def = runtime.toolRegistry?.[tool];\n if (def) return def;\n return { name: tool };\n }\n return {\n name: tool.name,\n description: tool.description,\n parameters: tool.input_schema,\n };\n });\n body.tools = [{ functionDeclarations }];\n }\n\n return {\n body: applyRawProviderBody(body, resolvedAsset, 'gemini'),\n provider: 'gemini',\n model: resolvedAsset.model ?? 'unknown',\n };\n },\n});\n"],"mappings":"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","names":[]}
|
package/dist/cli/index.js
CHANGED
|
@@ -65,10 +65,26 @@ var OpenRouterProviderOptionsSchema = z.object({
|
|
|
65
65
|
plugins: z.array(z.record(z.unknown())).optional(),
|
|
66
66
|
models: z.array(z.string()).optional()
|
|
67
67
|
});
|
|
68
|
+
var LLMAsAServiceCustomerSchema = z.object({
|
|
69
|
+
customer_id: z.string(),
|
|
70
|
+
customer_name: z.string().optional(),
|
|
71
|
+
customer_user_id: z.string().optional(),
|
|
72
|
+
customer_user_name: z.string().optional(),
|
|
73
|
+
customer_user_email: z.string().optional()
|
|
74
|
+
});
|
|
75
|
+
var LLMAsAServiceProviderOptionsSchema = z.object({
|
|
76
|
+
base_url: z.string().url().optional(),
|
|
77
|
+
project_id: z.string().optional(),
|
|
78
|
+
customer: LLMAsAServiceCustomerSchema.optional(),
|
|
79
|
+
conversationId: z.string().optional(),
|
|
80
|
+
conversationTitle: z.string().optional(),
|
|
81
|
+
projectId: z.string().optional()
|
|
82
|
+
});
|
|
68
83
|
var ProviderOptionsSchema = z.object({
|
|
69
84
|
anthropic: AnthropicProviderOptionsSchema.optional(),
|
|
70
85
|
gemini: GeminiProviderOptionsSchema.optional(),
|
|
71
|
-
openrouter: OpenRouterProviderOptionsSchema.optional()
|
|
86
|
+
openrouter: OpenRouterProviderOptionsSchema.optional(),
|
|
87
|
+
llmasaservice: LLMAsAServiceProviderOptionsSchema.optional()
|
|
72
88
|
});
|
|
73
89
|
var RawProviderBodySchema = z.object({
|
|
74
90
|
openai: z.record(z.unknown()).optional(),
|
|
@@ -77,7 +93,8 @@ var RawProviderBodySchema = z.object({
|
|
|
77
93
|
anthropic: z.record(z.unknown()).optional(),
|
|
78
94
|
gemini: z.record(z.unknown()).optional(),
|
|
79
95
|
google: z.record(z.unknown()).optional(),
|
|
80
|
-
openrouter: z.record(z.unknown()).optional()
|
|
96
|
+
openrouter: z.record(z.unknown()).optional(),
|
|
97
|
+
llmasaservice: z.record(z.unknown()).optional()
|
|
81
98
|
});
|
|
82
99
|
var OpenAICacheSchema = z.object({
|
|
83
100
|
prompt_cache_key: z.string().min(1).optional(),
|
|
@@ -164,7 +181,7 @@ var SectionsSchema = z.object({
|
|
|
164
181
|
notes: z.string().optional()
|
|
165
182
|
});
|
|
166
183
|
var PromptDefaultsSchema = z.object({
|
|
167
|
-
provider: z.enum(["openai", "openai-responses", "anthropic", "google", "gemini", "openrouter", "any"]).optional(),
|
|
184
|
+
provider: z.enum(["openai", "openai-responses", "anthropic", "google", "gemini", "openrouter", "llmasaservice", "any"]).optional(),
|
|
168
185
|
model: z.string().optional(),
|
|
169
186
|
cache: CacheSchema.optional(),
|
|
170
187
|
metadata: MetadataSchema.optional(),
|
|
@@ -176,7 +193,7 @@ var PromptAssetSchema = z.object({
|
|
|
176
193
|
id: z.string(),
|
|
177
194
|
schema_version: z.number().int().positive().default(1),
|
|
178
195
|
description: z.string().optional(),
|
|
179
|
-
provider: z.enum(["openai", "openai-responses", "anthropic", "google", "gemini", "openrouter", "any"]).optional(),
|
|
196
|
+
provider: z.enum(["openai", "openai-responses", "anthropic", "google", "gemini", "openrouter", "llmasaservice", "any"]).optional(),
|
|
180
197
|
model: z.string().optional(),
|
|
181
198
|
fallback_models: z.array(z.string()).optional(),
|
|
182
199
|
reasoning: ReasoningSchema.optional(),
|
|
@@ -1074,7 +1091,8 @@ function mergeOverride(base, override) {
|
|
|
1074
1091
|
anthropic: mergeRecordBlock(result.raw?.anthropic, override.raw.anthropic),
|
|
1075
1092
|
gemini: mergeRecordBlock(result.raw?.gemini, override.raw.gemini),
|
|
1076
1093
|
google: mergeRecordBlock(result.raw?.google, override.raw.google),
|
|
1077
|
-
openrouter: mergeRecordBlock(result.raw?.openrouter, override.raw.openrouter)
|
|
1094
|
+
openrouter: mergeRecordBlock(result.raw?.openrouter, override.raw.openrouter),
|
|
1095
|
+
llmasaservice: mergeRecordBlock(result.raw?.llmasaservice, override.raw.llmasaservice)
|
|
1078
1096
|
};
|
|
1079
1097
|
}
|
|
1080
1098
|
if (override.provider_options !== void 0) {
|
|
@@ -1092,6 +1110,10 @@ function mergeOverride(base, override) {
|
|
|
1092
1110
|
openrouter: {
|
|
1093
1111
|
...result.provider_options?.openrouter,
|
|
1094
1112
|
...override.provider_options.openrouter
|
|
1113
|
+
},
|
|
1114
|
+
llmasaservice: {
|
|
1115
|
+
...result.provider_options?.llmasaservice,
|
|
1116
|
+
...override.provider_options.llmasaservice
|
|
1095
1117
|
}
|
|
1096
1118
|
};
|
|
1097
1119
|
}
|