@homeflare/alchemy 0.52.0 → 0.53.1
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/grafana/folder-permission.d.ts +76 -0
- package/dist/grafana/folder-permission.d.ts.map +1 -0
- package/dist/grafana/index.d.ts +3 -1
- package/dist/grafana/index.d.ts.map +1 -1
- package/dist/grafana/index.js +133 -46
- package/dist/grafana/index.js.map +7 -5
- package/dist/grafana/providers.d.ts +1 -1
- package/dist/grafana/providers.d.ts.map +1 -1
- package/dist/grafana/provisioned.d.ts +1 -1
- package/dist/grafana/provisioned.d.ts.map +1 -1
- package/dist/grafana/team.d.ts +64 -0
- package/dist/grafana/team.d.ts.map +1 -0
- package/dist/linux/container-env-quote.d.ts +2 -0
- package/dist/linux/container-env-quote.d.ts.map +1 -1
- package/dist/linux/index.js +5 -1
- package/dist/linux/index.js.map +3 -3
- package/dist/litellm/fake-marketplace-litellm.d.ts +33 -0
- package/dist/litellm/fake-marketplace-litellm.d.ts.map +1 -0
- package/dist/litellm/index.d.ts +1 -0
- package/dist/litellm/index.d.ts.map +1 -1
- package/dist/litellm/index.js +530 -329
- package/dist/litellm/index.js.map +7 -4
- package/dist/litellm/marketplace-form.d.ts +21 -0
- package/dist/litellm/marketplace-form.d.ts.map +1 -0
- package/dist/litellm/marketplace-operations.d.ts +27 -0
- package/dist/litellm/marketplace-operations.d.ts.map +1 -0
- package/dist/litellm/marketplace-plugin.d.ts +57 -0
- package/dist/litellm/marketplace-plugin.d.ts.map +1 -0
- package/dist/litellm/marketplace-types.d.ts +55 -0
- package/dist/litellm/marketplace-types.d.ts.map +1 -0
- package/dist/litellm/providers.d.ts +1 -1
- package/dist/litellm/providers.d.ts.map +1 -1
- package/docs/litellm-marketplace.md +59 -0
- package/docs/litellm.md +1 -0
- package/package.json +1 -1
- package/src/grafana/folder-permission.test.ts +107 -0
- package/src/grafana/folder-permission.ts +128 -0
- package/src/grafana/index.ts +10 -1
- package/src/grafana/providers.ts +4 -0
- package/src/grafana/provisioned.ts +1 -1
- package/src/grafana/team.test.ts +108 -0
- package/src/grafana/team.ts +105 -0
- package/src/linux/container-env-quote.test.ts +54 -2
- package/src/linux/container-env-quote.ts +15 -0
- package/src/linux/container-fixture.test.ts +3 -3
- package/src/litellm/fake-marketplace-litellm.test.ts +51 -0
- package/src/litellm/fake-marketplace-litellm.ts +134 -0
- package/src/litellm/index.ts +8 -0
- package/src/litellm/marketplace-form.ts +160 -0
- package/src/litellm/marketplace-operations.ts +76 -0
- package/src/litellm/marketplace-plugin-replace.test.ts +68 -0
- package/src/litellm/marketplace-plugin.test.ts +181 -0
- package/src/litellm/marketplace-plugin.ts +156 -0
- package/src/litellm/marketplace-types.ts +53 -0
- package/src/litellm/providers.ts +2 -0
- package/src/litellm/registry-exports.test.ts +6 -0
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* What a `LiteLLM.ClaudeCodeMarketplacePlugin` declares (props) and remembers (attributes).
|
|
3
|
+
*
|
|
4
|
+
* ★ A PLUGIN IS A MARKETPLACE ENTRY, NOT A SKILL. LiteLLM serves `/claude-code/marketplace.json`
|
|
5
|
+
* from the plugins registered under `/claude-code/plugins`; Claude Code installs from that
|
|
6
|
+
* marketplace. The plugin folders a seat loads stay what they are (Tim, 2026-10-01); this entry
|
|
7
|
+
* points the marketplace at the same folder through `source`.
|
|
8
|
+
* ★ THE NAME IS THE IDENTITY. `name` is the path key of every read, update and delete, so it cannot
|
|
9
|
+
* be renamed in place: changing `pluginName` is a replace, never an update.
|
|
10
|
+
* ⚠️ `enabled` DEFAULTS TO `true`. A registered but disabled plugin is absent from the marketplace
|
|
11
|
+
* file, so a declaration that means "listed" must also mean "enabled".
|
|
12
|
+
*/
|
|
13
|
+
export interface PluginAuthor {
|
|
14
|
+
readonly name: string;
|
|
15
|
+
readonly email?: string;
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
export interface MarketplacePluginProps {
|
|
19
|
+
/** kebab-case plugin name, e.g. `homeflare-workflows`. Also the way an existing row is adopted. */
|
|
20
|
+
readonly pluginName: string;
|
|
21
|
+
/**
|
|
22
|
+
* Where Claude Code fetches the plugin from, as LiteLLM takes it: `{ source: 'github', repo }`,
|
|
23
|
+
* `{ source: 'url', url }`, `{ source: 'git-subdir', url, path }` or `{ source: 'archive', url, sha256? }`.
|
|
24
|
+
* Always compared.
|
|
25
|
+
*/
|
|
26
|
+
readonly source: Readonly<Record<string, string>>;
|
|
27
|
+
/** Compared only when declared: adopting never clears text a person wrote. */
|
|
28
|
+
readonly description?: string;
|
|
29
|
+
readonly version?: string;
|
|
30
|
+
readonly domain?: string;
|
|
31
|
+
readonly namespace?: string;
|
|
32
|
+
readonly category?: string;
|
|
33
|
+
readonly homepage?: string;
|
|
34
|
+
readonly keywords?: readonly string[];
|
|
35
|
+
readonly author?: PluginAuthor;
|
|
36
|
+
/** Whether the marketplace lists it. Default `true`. */
|
|
37
|
+
readonly enabled?: boolean;
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
export interface MarketplacePluginAttributes {
|
|
41
|
+
readonly pluginId: string;
|
|
42
|
+
readonly pluginName: string;
|
|
43
|
+
readonly source: Readonly<Record<string, string>>;
|
|
44
|
+
readonly enabled: boolean;
|
|
45
|
+
readonly description: string | null;
|
|
46
|
+
readonly version: string | null;
|
|
47
|
+
readonly domain: string | null;
|
|
48
|
+
readonly namespace: string | null;
|
|
49
|
+
readonly category: string | null;
|
|
50
|
+
readonly homepage: string | null;
|
|
51
|
+
readonly keywords: readonly string[];
|
|
52
|
+
readonly author: { readonly name: string; readonly email: string | null } | null;
|
|
53
|
+
}
|
package/src/litellm/providers.ts
CHANGED
|
@@ -22,6 +22,7 @@ import { type Credentials, CredentialsFromEnv } from '@distilled.cloud/litellm/C
|
|
|
22
22
|
import * as Layer from 'effect/Layer';
|
|
23
23
|
import { LiteLLMAccessGroupProvider } from './access-group.ts';
|
|
24
24
|
import { LiteLLMBudgetProvider } from './budget.ts';
|
|
25
|
+
import { LiteLLMClaudeCodeMarketplacePluginProvider } from './marketplace-plugin.ts';
|
|
25
26
|
import { LiteLLMCredentialProvider } from './credential.ts';
|
|
26
27
|
import { LiteLLMMCPServerProvider } from './mcp-server.ts';
|
|
27
28
|
import { LiteLLMKeyProvider } from './key.ts';
|
|
@@ -40,6 +41,7 @@ export const litellmProviders = (creds: Layer.Layer<Credentials> = CredentialsFr
|
|
|
40
41
|
LiteLLMCredentialProvider(),
|
|
41
42
|
LiteLLMMCPServerProvider(),
|
|
42
43
|
LiteLLMAccessGroupProvider(),
|
|
44
|
+
LiteLLMClaudeCodeMarketplacePluginProvider(),
|
|
43
45
|
LiteLLMToolsetProvider(),
|
|
44
46
|
LiteLLMToolPolicyProvider(),
|
|
45
47
|
LiteLLMPolicyProvider(),
|
|
@@ -14,6 +14,12 @@ const RESOURCES = [
|
|
|
14
14
|
'LiteLLM.AccessGroup',
|
|
15
15
|
'LiteLLMAccessGroupProvider',
|
|
16
16
|
],
|
|
17
|
+
[
|
|
18
|
+
'LiteLLMClaudeCodeMarketplacePlugin',
|
|
19
|
+
'isLiteLLMClaudeCodeMarketplacePlugin',
|
|
20
|
+
'LiteLLM.ClaudeCodeMarketplacePlugin',
|
|
21
|
+
'LiteLLMClaudeCodeMarketplacePluginProvider',
|
|
22
|
+
],
|
|
17
23
|
['LiteLLMToolset', 'isLiteLLMToolset', 'LiteLLM.Toolset', 'LiteLLMToolsetProvider'],
|
|
18
24
|
['LiteLLMPolicy', 'isLiteLLMPolicy', 'LiteLLM.Policy', 'LiteLLMPolicyProvider'],
|
|
19
25
|
[
|