@framers/agentos-extensions-registry 0.1.4 → 0.2.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 +8 -0
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/manifest-builder.d.ts +19 -1
- package/dist/manifest-builder.d.ts.map +1 -1
- package/dist/manifest-builder.js +58 -8
- package/dist/manifest-builder.js.map +1 -1
- package/dist/secret-env-map.d.ts +30 -0
- package/dist/secret-env-map.d.ts.map +1 -0
- package/dist/secret-env-map.js +145 -0
- package/dist/secret-env-map.js.map +1 -0
- package/dist/tool-registry.d.ts.map +1 -1
- package/dist/tool-registry.js +466 -11
- package/dist/tool-registry.js.map +1 -1
- package/dist/types.d.ts +31 -3
- package/dist/types.d.ts.map +1 -1
- package/package.json +7 -7
package/README.md
CHANGED
|
@@ -1,7 +1,15 @@
|
|
|
1
|
+
<p align="center">
|
|
2
|
+
<a href="https://agentos.sh"><img src="logos/agentos-primary-no-tagline-transparent-2x.png" alt="AgentOS" height="56" /></a>
|
|
3
|
+
|
|
4
|
+
<a href="https://frame.dev"><img src="logos/frame-logo-green-no-tagline.svg" alt="Frame.dev" height="36" /></a>
|
|
5
|
+
</p>
|
|
6
|
+
|
|
1
7
|
# @framers/agentos-extensions-registry
|
|
2
8
|
|
|
3
9
|
Curated extension registry bundle for AgentOS. Single import to register channels, tools, and integrations.
|
|
4
10
|
|
|
11
|
+
[](https://www.npmjs.com/package/@framers/agentos-extensions-registry)
|
|
12
|
+
|
|
5
13
|
## Installation
|
|
6
14
|
|
|
7
15
|
```bash
|
package/dist/index.d.ts
CHANGED
|
@@ -25,4 +25,6 @@ export { PROVIDER_CATALOG, getProviderEntries, getProviderEntry } from './provid
|
|
|
25
25
|
export { TOOL_CATALOG, getToolEntries, getToolEntry } from './tool-registry.js';
|
|
26
26
|
export type { RegistryOptions, ExtensionOverrideConfig, ExtensionInfo, ChannelRegistryEntry, } from './types.js';
|
|
27
27
|
export type { ProviderRegistryEntry } from './provider-registry.js';
|
|
28
|
+
export { SECRET_ENV_MAP, getApiKeyGuidance, getSecretEnvVar, } from './secret-env-map.js';
|
|
29
|
+
export type { SecretEnvMapping } from './secret-env-map.js';
|
|
28
30
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAEH,OAAO,EACL,qBAAqB,EACrB,sBAAsB,EACtB,oBAAoB,GACrB,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EAAE,eAAe,EAAE,iBAAiB,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAE5F,OAAO,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAEhG,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAEhF,YAAY,EACV,eAAe,EACf,uBAAuB,EACvB,aAAa,EACb,oBAAoB,GACrB,MAAM,YAAY,CAAC;AAEpB,YAAY,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAEH,OAAO,EACL,qBAAqB,EACrB,sBAAsB,EACtB,oBAAoB,GACrB,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EAAE,eAAe,EAAE,iBAAiB,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAE5F,OAAO,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAEhG,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAEhF,YAAY,EACV,eAAe,EACf,uBAAuB,EACvB,aAAa,EACb,oBAAoB,GACrB,MAAM,YAAY,CAAC;AAEpB,YAAY,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AAEpE,OAAO,EACL,cAAc,EACd,iBAAiB,EACjB,eAAe,GAChB,MAAM,qBAAqB,CAAC;AAC7B,YAAY,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -23,4 +23,5 @@ export { createCuratedManifest, getAvailableExtensions, getAvailableChannels, }
|
|
|
23
23
|
export { CHANNEL_CATALOG, getChannelEntries, getChannelEntry } from './channel-registry.js';
|
|
24
24
|
export { PROVIDER_CATALOG, getProviderEntries, getProviderEntry } from './provider-registry.js';
|
|
25
25
|
export { TOOL_CATALOG, getToolEntries, getToolEntry } from './tool-registry.js';
|
|
26
|
+
export { SECRET_ENV_MAP, getApiKeyGuidance, getSecretEnvVar, } from './secret-env-map.js';
|
|
26
27
|
//# 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;;;;;;;;;;;;;;;;;;;;GAoBG;AAEH,OAAO,EACL,qBAAqB,EACrB,sBAAsB,EACtB,oBAAoB,GACrB,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EAAE,eAAe,EAAE,iBAAiB,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAE5F,OAAO,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAEhG,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAEH,OAAO,EACL,qBAAqB,EACrB,sBAAsB,EACtB,oBAAoB,GACrB,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EAAE,eAAe,EAAE,iBAAiB,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAE5F,OAAO,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAEhG,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAWhF,OAAO,EACL,cAAc,EACd,iBAAiB,EACjB,eAAe,GAChB,MAAM,qBAAqB,CAAC"}
|
|
@@ -8,8 +8,25 @@
|
|
|
8
8
|
*
|
|
9
9
|
* @module @framers/agentos-extensions-registry/manifest-builder
|
|
10
10
|
*/
|
|
11
|
-
import type { ExtensionManifest } from '@framers/agentos';
|
|
12
11
|
import type { RegistryOptions, ExtensionInfo } from './types.js';
|
|
12
|
+
interface ExtensionPackManifestEntry {
|
|
13
|
+
package?: string;
|
|
14
|
+
module?: string;
|
|
15
|
+
factory?: () => Promise<unknown> | unknown;
|
|
16
|
+
priority?: number;
|
|
17
|
+
enabled?: boolean;
|
|
18
|
+
options?: Record<string, unknown>;
|
|
19
|
+
identifier?: string;
|
|
20
|
+
}
|
|
21
|
+
interface ExtensionManifest {
|
|
22
|
+
packs: ExtensionPackManifestEntry[];
|
|
23
|
+
overrides?: {
|
|
24
|
+
tools?: Record<string, {
|
|
25
|
+
enabled?: boolean;
|
|
26
|
+
priority?: number;
|
|
27
|
+
}>;
|
|
28
|
+
};
|
|
29
|
+
}
|
|
13
30
|
/**
|
|
14
31
|
* Check which extensions from the catalog are actually installed
|
|
15
32
|
* and mark them as available.
|
|
@@ -45,4 +62,5 @@ export declare function getAvailableChannels(): Promise<ExtensionInfo[]>;
|
|
|
45
62
|
* ```
|
|
46
63
|
*/
|
|
47
64
|
export declare function createCuratedManifest(options?: RegistryOptions): Promise<ExtensionManifest>;
|
|
65
|
+
export {};
|
|
48
66
|
//# sourceMappingURL=manifest-builder.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"manifest-builder.d.ts","sourceRoot":"","sources":["../src/manifest-builder.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"manifest-builder.d.ts","sourceRoot":"","sources":["../src/manifest-builder.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,aAAa,EAAkB,MAAM,YAAY,CAAC;AAKjF,UAAU,0BAA0B;IAClC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,OAAO,CAAC,OAAO,CAAC,GAAG,OAAO,CAAC;IAC3C,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAClC,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,UAAU,iBAAiB;IACzB,KAAK,EAAE,0BAA0B,EAAE,CAAC;IACpC,SAAS,CAAC,EAAE;QACV,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE;YAAE,OAAO,CAAC,EAAE,OAAO,CAAC;YAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;SAAE,CAAC,CAAC;KAClE,CAAC;CACH;AA+BD;;;GAGG;AACH,wBAAsB,sBAAsB,IAAI,OAAO,CAAC,aAAa,EAAE,CAAC,CAQvE;AAED;;GAEG;AACH,wBAAsB,oBAAoB,IAAI,OAAO,CAAC,aAAa,EAAE,CAAC,CAKrE;AAED;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,wBAAsB,qBAAqB,CAAC,OAAO,CAAC,EAAE,eAAe,GAAG,OAAO,CAAC,iBAAiB,CAAC,CA8JjG"}
|
package/dist/manifest-builder.js
CHANGED
|
@@ -24,6 +24,11 @@ function isPackageInstalled(packageName) {
|
|
|
24
24
|
return false;
|
|
25
25
|
}
|
|
26
26
|
}
|
|
27
|
+
function isEntryAvailable(entry) {
|
|
28
|
+
if (typeof entry.createPack === 'function')
|
|
29
|
+
return true;
|
|
30
|
+
return isPackageInstalled(entry.packageName);
|
|
31
|
+
}
|
|
27
32
|
/**
|
|
28
33
|
* Attempt to dynamically import a package. Returns the module if available,
|
|
29
34
|
* or `null` if the package is not installed.
|
|
@@ -44,13 +49,19 @@ export async function getAvailableExtensions() {
|
|
|
44
49
|
const allEntries = [...TOOL_CATALOG, ...CHANNEL_CATALOG, ...PROVIDER_CATALOG];
|
|
45
50
|
// Prefer pure resolution checks. Dynamic-importing every optional dependency
|
|
46
51
|
// can be very slow in bundler/test runtimes that shim `import.meta`.
|
|
47
|
-
return allEntries.map((entry) => ({
|
|
52
|
+
return allEntries.map((entry) => ({
|
|
53
|
+
...entry,
|
|
54
|
+
available: isEntryAvailable(entry),
|
|
55
|
+
}));
|
|
48
56
|
}
|
|
49
57
|
/**
|
|
50
58
|
* Get available channel extensions.
|
|
51
59
|
*/
|
|
52
60
|
export async function getAvailableChannels() {
|
|
53
|
-
return CHANNEL_CATALOG.map((entry) => ({
|
|
61
|
+
return CHANNEL_CATALOG.map((entry) => ({
|
|
62
|
+
...entry,
|
|
63
|
+
available: isEntryAvailable(entry),
|
|
64
|
+
}));
|
|
54
65
|
}
|
|
55
66
|
/**
|
|
56
67
|
* Creates a pre-configured `ExtensionManifest` with all available curated
|
|
@@ -87,12 +98,6 @@ export async function createCuratedManifest(options) {
|
|
|
87
98
|
const override = options?.overrides?.[entry.name];
|
|
88
99
|
if (override?.enabled === false)
|
|
89
100
|
return;
|
|
90
|
-
const mod = await tryImport(entry.packageName);
|
|
91
|
-
if (!mod)
|
|
92
|
-
return;
|
|
93
|
-
const factory = mod.createExtensionPack ?? mod.default?.createExtensionPack ?? mod.default;
|
|
94
|
-
if (typeof factory !== 'function')
|
|
95
|
-
return;
|
|
96
101
|
const effectivePriority = override?.priority ?? basePriority + entry.defaultPriority;
|
|
97
102
|
const effectiveOptions = {
|
|
98
103
|
...override?.options,
|
|
@@ -100,6 +105,29 @@ export async function createCuratedManifest(options) {
|
|
|
100
105
|
// Most curated packs accept `options.priority` and map it onto descriptor priorities.
|
|
101
106
|
priority: override?.options?.priority ?? effectivePriority,
|
|
102
107
|
};
|
|
108
|
+
if (entry.createPack) {
|
|
109
|
+
packs.push({
|
|
110
|
+
factory: () => entry.createPack?.({
|
|
111
|
+
options: effectiveOptions,
|
|
112
|
+
getSecret: (secretId) => secrets?.[secretId],
|
|
113
|
+
logger,
|
|
114
|
+
}),
|
|
115
|
+
priority: effectivePriority,
|
|
116
|
+
enabled: true,
|
|
117
|
+
identifier: `registry:${entry.name}`,
|
|
118
|
+
options: effectiveOptions,
|
|
119
|
+
});
|
|
120
|
+
return;
|
|
121
|
+
}
|
|
122
|
+
if (!isPackageInstalled(entry.packageName)) {
|
|
123
|
+
return;
|
|
124
|
+
}
|
|
125
|
+
const mod = await tryImport(entry.packageName);
|
|
126
|
+
if (!mod)
|
|
127
|
+
return;
|
|
128
|
+
const factory = mod.createExtensionPack ?? mod.default?.createExtensionPack ?? mod.default;
|
|
129
|
+
if (typeof factory !== 'function')
|
|
130
|
+
return;
|
|
103
131
|
packs.push({
|
|
104
132
|
factory: () => factory({
|
|
105
133
|
options: effectiveOptions,
|
|
@@ -118,6 +146,8 @@ export async function createCuratedManifest(options) {
|
|
|
118
146
|
const toolOnlyEntries = TOOL_CATALOG.filter((t) => t.category === 'tool' || t.category === 'integration');
|
|
119
147
|
const voiceEntries = TOOL_CATALOG.filter((t) => t.category === 'voice');
|
|
120
148
|
const productivityEntries = TOOL_CATALOG.filter((t) => t.category === 'productivity');
|
|
149
|
+
const cloudEntries = TOOL_CATALOG.filter((t) => t.category === 'cloud');
|
|
150
|
+
const domainEntries = TOOL_CATALOG.filter((t) => t.category === 'domain');
|
|
121
151
|
// ── Tool Extensions ──
|
|
122
152
|
const toolFilter = options?.tools ?? 'all';
|
|
123
153
|
const filteredTools = toolFilter === 'none'
|
|
@@ -148,6 +178,26 @@ export async function createCuratedManifest(options) {
|
|
|
148
178
|
for (const entry of filteredProd) {
|
|
149
179
|
await loadEntry(entry);
|
|
150
180
|
}
|
|
181
|
+
// ── Cloud Provider Extensions ──
|
|
182
|
+
const cloudFilter = options?.cloud ?? 'all';
|
|
183
|
+
const filteredCloud = cloudFilter === 'none'
|
|
184
|
+
? []
|
|
185
|
+
: cloudFilter === 'all'
|
|
186
|
+
? cloudEntries
|
|
187
|
+
: cloudEntries.filter((t) => cloudFilter.includes(t.name));
|
|
188
|
+
for (const entry of filteredCloud) {
|
|
189
|
+
await loadEntry(entry);
|
|
190
|
+
}
|
|
191
|
+
// ── Domain Registrar Extensions ──
|
|
192
|
+
const domainFilter = options?.domains ?? 'all';
|
|
193
|
+
const filteredDomains = domainFilter === 'none'
|
|
194
|
+
? []
|
|
195
|
+
: domainFilter === 'all'
|
|
196
|
+
? domainEntries
|
|
197
|
+
: domainEntries.filter((t) => domainFilter.includes(t.name));
|
|
198
|
+
for (const entry of filteredDomains) {
|
|
199
|
+
await loadEntry(entry);
|
|
200
|
+
}
|
|
151
201
|
// ── Channel Extensions ──
|
|
152
202
|
const channelEntries = getChannelEntries(options?.channels);
|
|
153
203
|
for (const entry of channelEntries) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"manifest-builder.js","sourceRoot":"","sources":["../src/manifest-builder.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;
|
|
1
|
+
{"version":3,"file":"manifest-builder.js","sourceRoot":"","sources":["../src/manifest-builder.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview Centralized mapping from extension `requiredSecrets` IDs
|
|
3
|
+
* to environment variable names, signup URLs, and free tier info.
|
|
4
|
+
*
|
|
5
|
+
* Used by the runtime to enrich tool-execution errors with actionable
|
|
6
|
+
* API key guidance so the agent can relay it to the user.
|
|
7
|
+
*
|
|
8
|
+
* @module @framers/agentos-extensions-registry/secret-env-map
|
|
9
|
+
*/
|
|
10
|
+
export interface SecretEnvMapping {
|
|
11
|
+
envVar: string;
|
|
12
|
+
signupUrl: string;
|
|
13
|
+
freeTier?: string;
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* Maps `requiredSecrets` IDs (as declared in TOOL_CATALOG) to their
|
|
17
|
+
* corresponding environment variable, signup URL, and free tier info.
|
|
18
|
+
*/
|
|
19
|
+
export declare const SECRET_ENV_MAP: Record<string, SecretEnvMapping>;
|
|
20
|
+
/**
|
|
21
|
+
* Given a tool-execution error message (and optionally the tool name),
|
|
22
|
+
* return human-readable guidance about which API key is needed and where
|
|
23
|
+
* to get it. Returns `null` if the error doesn't look API-key-related.
|
|
24
|
+
*/
|
|
25
|
+
export declare function getApiKeyGuidance(errorMessage: string, toolName?: string): string | null;
|
|
26
|
+
/**
|
|
27
|
+
* Look up the environment variable name for a given secret ID.
|
|
28
|
+
*/
|
|
29
|
+
export declare function getSecretEnvVar(secretId: string): string | undefined;
|
|
30
|
+
//# sourceMappingURL=secret-env-map.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"secret-env-map.d.ts","sourceRoot":"","sources":["../src/secret-env-map.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAIH,MAAM,WAAW,gBAAgB;IAC/B,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED;;;GAGG;AACH,eAAO,MAAM,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,gBAAgB,CA8D3D,CAAC;AAeF;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,YAAY,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAyDxF;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAEpE"}
|
|
@@ -0,0 +1,145 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview Centralized mapping from extension `requiredSecrets` IDs
|
|
3
|
+
* to environment variable names, signup URLs, and free tier info.
|
|
4
|
+
*
|
|
5
|
+
* Used by the runtime to enrich tool-execution errors with actionable
|
|
6
|
+
* API key guidance so the agent can relay it to the user.
|
|
7
|
+
*
|
|
8
|
+
* @module @framers/agentos-extensions-registry/secret-env-map
|
|
9
|
+
*/
|
|
10
|
+
import { TOOL_CATALOG } from './tool-registry.js';
|
|
11
|
+
/**
|
|
12
|
+
* Maps `requiredSecrets` IDs (as declared in TOOL_CATALOG) to their
|
|
13
|
+
* corresponding environment variable, signup URL, and free tier info.
|
|
14
|
+
*/
|
|
15
|
+
export const SECRET_ENV_MAP = {
|
|
16
|
+
// Search
|
|
17
|
+
'serper.apiKey': { envVar: 'SERPER_API_KEY', signupUrl: 'https://serper.dev', freeTier: '2,500 queries free' },
|
|
18
|
+
'brave.apiKey': { envVar: 'BRAVE_API_KEY', signupUrl: 'https://brave.com/search/api/', freeTier: '2,000 queries/mo free' },
|
|
19
|
+
// Core AI providers
|
|
20
|
+
'openai.apiKey': { envVar: 'OPENAI_API_KEY', signupUrl: 'https://platform.openai.com/api-keys' },
|
|
21
|
+
'stability.apiKey': { envVar: 'STABILITY_API_KEY', signupUrl: 'https://platform.stability.ai/account/keys' },
|
|
22
|
+
// Media
|
|
23
|
+
'giphy.apiKey': { envVar: 'GIPHY_API_KEY', signupUrl: 'https://developers.giphy.com', freeTier: 'free tier available' },
|
|
24
|
+
'coverr.apiKey': { envVar: 'COVERR_API_KEY', signupUrl: 'https://coverr.co' },
|
|
25
|
+
'openverse.clientId': { envVar: 'OPENVERSE_CLIENT_ID', signupUrl: 'https://api.openverse.org', freeTier: 'free — CC licensed content' },
|
|
26
|
+
'openverse.clientSecret': { envVar: 'OPENVERSE_CLIENT_SECRET', signupUrl: 'https://api.openverse.org' },
|
|
27
|
+
'freesound.apiKey': { envVar: 'FREESOUND_API_KEY', signupUrl: 'https://freesound.org/apiv2/apply', freeTier: 'free — CC licensed audio' },
|
|
28
|
+
'jamendo.clientId': { envVar: 'JAMENDO_CLIENT_ID', signupUrl: 'https://devportal.jamendo.com', freeTier: 'free — royalty-free music' },
|
|
29
|
+
'smithsonian.apiKey': { envVar: 'SMITHSONIAN_API_KEY', signupUrl: 'https://api.si.edu', freeTier: 'free — open access' },
|
|
30
|
+
// News
|
|
31
|
+
'newsapi.apiKey': { envVar: 'NEWSAPI_API_KEY', signupUrl: 'https://newsapi.org', freeTier: '100 requests/day free' },
|
|
32
|
+
// Voice
|
|
33
|
+
'elevenlabs.apiKey': { envVar: 'ELEVENLABS_API_KEY', signupUrl: 'https://elevenlabs.io', freeTier: '10k chars/mo free' },
|
|
34
|
+
'twilio.accountSid': { envVar: 'TWILIO_ACCOUNT_SID', signupUrl: 'https://console.twilio.com' },
|
|
35
|
+
'twilio.authToken': { envVar: 'TWILIO_AUTH_TOKEN', signupUrl: 'https://console.twilio.com' },
|
|
36
|
+
'telnyx.apiKey': { envVar: 'TELNYX_API_KEY', signupUrl: 'https://portal.telnyx.com' },
|
|
37
|
+
'telnyx.connectionId': { envVar: 'TELNYX_CONNECTION_ID', signupUrl: 'https://portal.telnyx.com' },
|
|
38
|
+
'plivo.authId': { envVar: 'PLIVO_AUTH_ID', signupUrl: 'https://console.plivo.com' },
|
|
39
|
+
'plivo.authToken': { envVar: 'PLIVO_AUTH_TOKEN', signupUrl: 'https://console.plivo.com' },
|
|
40
|
+
// GitHub
|
|
41
|
+
'github.token': { envVar: 'GITHUB_TOKEN', signupUrl: 'https://github.com/settings/tokens', freeTier: 'free for public repos' },
|
|
42
|
+
// Messaging
|
|
43
|
+
'telegram.botToken': { envVar: 'TELEGRAM_BOT_TOKEN', signupUrl: 'https://t.me/BotFather', freeTier: 'free' },
|
|
44
|
+
'discord.botToken': { envVar: 'DISCORD_BOT_TOKEN', signupUrl: 'https://discord.com/developers/applications', freeTier: 'free' },
|
|
45
|
+
// Cloud providers
|
|
46
|
+
'vercel.token': { envVar: 'VERCEL_TOKEN', signupUrl: 'https://vercel.com/account/tokens', freeTier: 'hobby tier free' },
|
|
47
|
+
'cloudflare.apiToken': { envVar: 'CLOUDFLARE_API_TOKEN', signupUrl: 'https://dash.cloudflare.com/profile/api-tokens', freeTier: 'free tier available' },
|
|
48
|
+
'cloudflare.accountId': { envVar: 'CLOUDFLARE_ACCOUNT_ID', signupUrl: 'https://dash.cloudflare.com' },
|
|
49
|
+
'digitalocean.token': { envVar: 'DIGITALOCEAN_TOKEN', signupUrl: 'https://cloud.digitalocean.com/account/api/tokens' },
|
|
50
|
+
'netlify.token': { envVar: 'NETLIFY_AUTH_TOKEN', signupUrl: 'https://app.netlify.com/user/applications#personal-access-tokens', freeTier: 'free tier available' },
|
|
51
|
+
'linode.token': { envVar: 'LINODE_TOKEN', signupUrl: 'https://cloud.linode.com/profile/tokens' },
|
|
52
|
+
'aws.accessKeyId': { envVar: 'AWS_ACCESS_KEY_ID', signupUrl: 'https://console.aws.amazon.com/iam', freeTier: '12 months free tier' },
|
|
53
|
+
'aws.secretAccessKey': { envVar: 'AWS_SECRET_ACCESS_KEY', signupUrl: 'https://console.aws.amazon.com/iam' },
|
|
54
|
+
'heroku.apiKey': { envVar: 'HEROKU_API_KEY', signupUrl: 'https://dashboard.heroku.com/account' },
|
|
55
|
+
'railway.token': { envVar: 'RAILWAY_TOKEN', signupUrl: 'https://railway.app/account/tokens', freeTier: '$5/mo free' },
|
|
56
|
+
'fly.token': { envVar: 'FLY_API_TOKEN', signupUrl: 'https://fly.io/user/personal_access_tokens', freeTier: 'free tier available' },
|
|
57
|
+
// Domain registrars
|
|
58
|
+
'porkbun.apiKey': { envVar: 'PORKBUN_API_KEY', signupUrl: 'https://porkbun.com/account/api' },
|
|
59
|
+
'porkbun.secretApiKey': { envVar: 'PORKBUN_SECRET_API_KEY', signupUrl: 'https://porkbun.com/account/api' },
|
|
60
|
+
'namecheap.apiUser': { envVar: 'NAMECHEAP_API_USER', signupUrl: 'https://www.namecheap.com/support/api/intro/' },
|
|
61
|
+
'namecheap.apiKey': { envVar: 'NAMECHEAP_API_KEY', signupUrl: 'https://www.namecheap.com/support/api/intro/' },
|
|
62
|
+
'godaddy.apiKey': { envVar: 'GODADDY_API_KEY', signupUrl: 'https://developer.godaddy.com/keys' },
|
|
63
|
+
'godaddy.apiSecret': { envVar: 'GODADDY_API_SECRET', signupUrl: 'https://developer.godaddy.com/keys' },
|
|
64
|
+
// Productivity
|
|
65
|
+
'google.clientId': { envVar: 'GOOGLE_CLIENT_ID', signupUrl: 'https://console.cloud.google.com/apis/credentials' },
|
|
66
|
+
'google.clientSecret': { envVar: 'GOOGLE_CLIENT_SECRET', signupUrl: 'https://console.cloud.google.com/apis/credentials' },
|
|
67
|
+
'google.refreshToken': { envVar: 'GOOGLE_REFRESH_TOKEN', signupUrl: 'https://console.cloud.google.com/apis/credentials' },
|
|
68
|
+
};
|
|
69
|
+
/** Pattern-match keywords that indicate an API key error. */
|
|
70
|
+
const API_KEY_ERROR_PATTERNS = [
|
|
71
|
+
/api[_\s-]?key/i,
|
|
72
|
+
/\b401\b/,
|
|
73
|
+
/\bunauthorized\b/i,
|
|
74
|
+
/\bauthentication\b.*\b(failed|required|missing|invalid)\b/i,
|
|
75
|
+
/\bnot\s+configured\b/i,
|
|
76
|
+
/\bmissing\s+(api|token|key|credential)/i,
|
|
77
|
+
/\binvalid\s+(api|token|key|credential)/i,
|
|
78
|
+
/\bforbidden\b/i,
|
|
79
|
+
/\b403\b/,
|
|
80
|
+
];
|
|
81
|
+
/**
|
|
82
|
+
* Given a tool-execution error message (and optionally the tool name),
|
|
83
|
+
* return human-readable guidance about which API key is needed and where
|
|
84
|
+
* to get it. Returns `null` if the error doesn't look API-key-related.
|
|
85
|
+
*/
|
|
86
|
+
export function getApiKeyGuidance(errorMessage, toolName) {
|
|
87
|
+
// Quick check: does this look like an API key error?
|
|
88
|
+
const isApiKeyError = API_KEY_ERROR_PATTERNS.some((p) => p.test(errorMessage));
|
|
89
|
+
if (!isApiKeyError)
|
|
90
|
+
return null;
|
|
91
|
+
// Try to find the extension by tool name in the catalog
|
|
92
|
+
const lines = ['This tool requires an API key to function.'];
|
|
93
|
+
if (toolName) {
|
|
94
|
+
// Find catalog entry whose package matches (tools are named like web_search → web-search package)
|
|
95
|
+
const normalizedName = toolName.replace(/_/g, '-');
|
|
96
|
+
const entry = TOOL_CATALOG.find((e) => e.name === normalizedName
|
|
97
|
+
|| e.name === toolName
|
|
98
|
+
|| normalizedName.startsWith(e.name)
|
|
99
|
+
|| e.packageName.endsWith(normalizedName));
|
|
100
|
+
if (entry && entry.requiredSecrets.length > 0) {
|
|
101
|
+
lines.push(`Extension: ${entry.displayName} (${entry.name})`);
|
|
102
|
+
lines.push('Required environment variables:');
|
|
103
|
+
for (const secretId of entry.requiredSecrets) {
|
|
104
|
+
const mapping = SECRET_ENV_MAP[secretId];
|
|
105
|
+
if (mapping) {
|
|
106
|
+
let line = ` - ${mapping.envVar}`;
|
|
107
|
+
if (mapping.freeTier)
|
|
108
|
+
line += ` (${mapping.freeTier})`;
|
|
109
|
+
line += ` → ${mapping.signupUrl}`;
|
|
110
|
+
lines.push(line);
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
}
|
|
115
|
+
// Also scan the error message for known env var names
|
|
116
|
+
for (const [, mapping] of Object.entries(SECRET_ENV_MAP)) {
|
|
117
|
+
if (errorMessage.includes(mapping.envVar)) {
|
|
118
|
+
if (!lines.some((l) => l.includes(mapping.envVar))) {
|
|
119
|
+
let line = `Set ${mapping.envVar}`;
|
|
120
|
+
if (mapping.freeTier)
|
|
121
|
+
line += ` (${mapping.freeTier})`;
|
|
122
|
+
line += ` → ${mapping.signupUrl}`;
|
|
123
|
+
lines.push(line);
|
|
124
|
+
}
|
|
125
|
+
}
|
|
126
|
+
}
|
|
127
|
+
// Fallback: if we matched an API key error but found no specific mapping,
|
|
128
|
+
// mention common search API keys as these are the most frequent
|
|
129
|
+
if (lines.length === 1 && toolName) {
|
|
130
|
+
const n = toolName.toLowerCase();
|
|
131
|
+
if (n.includes('search') || n.includes('web')) {
|
|
132
|
+
lines.push('For web search, set one of:');
|
|
133
|
+
lines.push(' - SERPER_API_KEY (2,500 queries free) → https://serper.dev');
|
|
134
|
+
lines.push(' - BRAVE_API_KEY (2,000 queries/mo free) → https://brave.com/search/api/');
|
|
135
|
+
}
|
|
136
|
+
}
|
|
137
|
+
return lines.length > 1 ? lines.join('\n') : null;
|
|
138
|
+
}
|
|
139
|
+
/**
|
|
140
|
+
* Look up the environment variable name for a given secret ID.
|
|
141
|
+
*/
|
|
142
|
+
export function getSecretEnvVar(secretId) {
|
|
143
|
+
return SECRET_ENV_MAP[secretId]?.envVar;
|
|
144
|
+
}
|
|
145
|
+
//# sourceMappingURL=secret-env-map.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"secret-env-map.js","sourceRoot":"","sources":["../src/secret-env-map.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tool-registry.d.ts","sourceRoot":"","sources":["../src/tool-registry.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EAAE,aAAa,
|
|
1
|
+
{"version":3,"file":"tool-registry.d.ts","sourceRoot":"","sources":["../src/tool-registry.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAuB,MAAM,YAAY,CAAC;AA2RrE;;GAEG;AACH,eAAO,MAAM,YAAY,EAAE,aAAa,EAmkBvC,CAAC;AAEF;;GAEG;AACH,wBAAgB,cAAc,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,GAAG,KAAK,GAAG,MAAM,GAAG,aAAa,EAAE,CAIjF;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,aAAa,GAAG,SAAS,CAEpE"}
|
package/dist/tool-registry.js
CHANGED
|
@@ -8,6 +8,228 @@
|
|
|
8
8
|
*
|
|
9
9
|
* @module @framers/agentos-extensions-registry/tools
|
|
10
10
|
*/
|
|
11
|
+
import { BuiltInAdaptiveVadProvider, ElevenLabsTextToSpeechProvider, OpenAITextToSpeechProvider, OpenAIWhisperSpeechToTextProvider, } from '@framers/agentos';
|
|
12
|
+
const NEUTRAL_PAD = {
|
|
13
|
+
valence: 0,
|
|
14
|
+
arousal: 0,
|
|
15
|
+
dominance: 0,
|
|
16
|
+
};
|
|
17
|
+
function isRuntimeManager(value) {
|
|
18
|
+
return (typeof value === 'object' &&
|
|
19
|
+
value !== null &&
|
|
20
|
+
typeof value.encode === 'function' &&
|
|
21
|
+
typeof value.retrieve === 'function');
|
|
22
|
+
}
|
|
23
|
+
function createBuiltInCognitiveMemoryPack(context) {
|
|
24
|
+
const priority = typeof context.options?.priority === 'number' ? context.options.priority : 100;
|
|
25
|
+
let manager = null;
|
|
26
|
+
return {
|
|
27
|
+
name: '@framers/agentos:cognitive-memory',
|
|
28
|
+
version: '1.0.0',
|
|
29
|
+
descriptors: [
|
|
30
|
+
{
|
|
31
|
+
id: 'agentos-cognitive-memory',
|
|
32
|
+
kind: 'memory-provider',
|
|
33
|
+
priority,
|
|
34
|
+
enableByDefault: true,
|
|
35
|
+
payload: {
|
|
36
|
+
name: 'cognitive-memory',
|
|
37
|
+
description: 'Cognitive science-grounded memory system with personality-affected encoding/retrieval, Ebbinghaus decay, mood-congruent recall, and Baddeley working memory slots.',
|
|
38
|
+
supportedTypes: ['episodic', 'semantic', 'procedural', 'prospective'],
|
|
39
|
+
initialize: async (config) => {
|
|
40
|
+
if (!isRuntimeManager(config.manager)) {
|
|
41
|
+
throw new Error('Cognitive memory provider requires initialize({ manager }) with encode()/retrieve() methods.');
|
|
42
|
+
}
|
|
43
|
+
manager = config.manager;
|
|
44
|
+
},
|
|
45
|
+
store: async (_collectionId, data) => {
|
|
46
|
+
if (!manager) {
|
|
47
|
+
throw new Error('Cognitive memory provider not initialized.');
|
|
48
|
+
}
|
|
49
|
+
if (typeof data === 'string') {
|
|
50
|
+
const trace = await manager.encode(data, NEUTRAL_PAD, '');
|
|
51
|
+
return trace.id;
|
|
52
|
+
}
|
|
53
|
+
if (typeof data !== 'object' ||
|
|
54
|
+
data === null ||
|
|
55
|
+
typeof data.input !== 'string') {
|
|
56
|
+
throw new Error('Cognitive memory store() expects a string or { input, mood?, gmiMood?, options? }.');
|
|
57
|
+
}
|
|
58
|
+
const trace = await manager.encode(data.input, data.mood ?? NEUTRAL_PAD, data.gmiMood ?? '', data.options);
|
|
59
|
+
return trace.id;
|
|
60
|
+
},
|
|
61
|
+
query: async (_collectionId, query, options) => {
|
|
62
|
+
if (!manager) {
|
|
63
|
+
throw new Error('Cognitive memory provider not initialized.');
|
|
64
|
+
}
|
|
65
|
+
const text = typeof query === 'string'
|
|
66
|
+
? query
|
|
67
|
+
: typeof query?.text === 'string'
|
|
68
|
+
? String(query.text)
|
|
69
|
+
: typeof query?.query === 'string'
|
|
70
|
+
? String(query.query)
|
|
71
|
+
: '';
|
|
72
|
+
if (!text.trim()) {
|
|
73
|
+
throw new Error('Cognitive memory query() expects a string or { text|query, mood? }.');
|
|
74
|
+
}
|
|
75
|
+
const mood = typeof query === 'object' && query !== null && 'mood' in query
|
|
76
|
+
? (query.mood ?? NEUTRAL_PAD)
|
|
77
|
+
: NEUTRAL_PAD;
|
|
78
|
+
const result = await manager.retrieve(text, mood, options);
|
|
79
|
+
return result.retrieved;
|
|
80
|
+
},
|
|
81
|
+
delete: async (_collectionId, ids) => {
|
|
82
|
+
if (!manager) {
|
|
83
|
+
throw new Error('Cognitive memory provider not initialized.');
|
|
84
|
+
}
|
|
85
|
+
const store = manager.getStore?.();
|
|
86
|
+
if (!store?.softDelete) {
|
|
87
|
+
throw new Error('Cognitive memory provider does not expose delete support.');
|
|
88
|
+
}
|
|
89
|
+
await Promise.all(ids.map((id) => Promise.resolve(store.softDelete?.(id))));
|
|
90
|
+
},
|
|
91
|
+
shutdown: async () => {
|
|
92
|
+
if (!manager)
|
|
93
|
+
return;
|
|
94
|
+
await manager.shutdown();
|
|
95
|
+
manager = null;
|
|
96
|
+
},
|
|
97
|
+
},
|
|
98
|
+
metadata: {
|
|
99
|
+
version: '1.0.0',
|
|
100
|
+
cognitiveModels: [
|
|
101
|
+
'atkinson-shiffrin',
|
|
102
|
+
'baddeley-working-memory',
|
|
103
|
+
'ebbinghaus-forgetting',
|
|
104
|
+
'yerkes-dodson',
|
|
105
|
+
'tulving-episodic-semantic',
|
|
106
|
+
'anderson-spreading-activation',
|
|
107
|
+
],
|
|
108
|
+
},
|
|
109
|
+
},
|
|
110
|
+
],
|
|
111
|
+
};
|
|
112
|
+
}
|
|
113
|
+
function createBuiltInSpeechRuntimePack(context) {
|
|
114
|
+
const priority = typeof context.options?.priority === 'number' ? context.options.priority : 80;
|
|
115
|
+
const openaiApiKey = context.getSecret?.('openai.apiKey');
|
|
116
|
+
const elevenLabsApiKey = context.getSecret?.('elevenlabs.apiKey');
|
|
117
|
+
return {
|
|
118
|
+
name: '@framers/agentos:speech-runtime',
|
|
119
|
+
version: '1.0.0',
|
|
120
|
+
descriptors: [
|
|
121
|
+
{
|
|
122
|
+
id: 'agentos-openai-whisper-stt',
|
|
123
|
+
kind: 'stt-provider',
|
|
124
|
+
priority,
|
|
125
|
+
enableByDefault: true,
|
|
126
|
+
requiredSecrets: [{ id: 'openai.apiKey' }],
|
|
127
|
+
payload: new OpenAIWhisperSpeechToTextProvider({
|
|
128
|
+
apiKey: openaiApiKey ?? '',
|
|
129
|
+
model: typeof context.options?.openAIWhisperModel === 'string'
|
|
130
|
+
? context.options.openAIWhisperModel
|
|
131
|
+
: 'whisper-1',
|
|
132
|
+
}),
|
|
133
|
+
metadata: {
|
|
134
|
+
providerId: 'openai-whisper',
|
|
135
|
+
providerKind: 'stt',
|
|
136
|
+
},
|
|
137
|
+
},
|
|
138
|
+
{
|
|
139
|
+
id: 'agentos-openai-tts',
|
|
140
|
+
kind: 'tts-provider',
|
|
141
|
+
priority,
|
|
142
|
+
enableByDefault: true,
|
|
143
|
+
requiredSecrets: [{ id: 'openai.apiKey' }],
|
|
144
|
+
payload: new OpenAITextToSpeechProvider({
|
|
145
|
+
apiKey: openaiApiKey ?? '',
|
|
146
|
+
model: typeof context.options?.openAITtsModel === 'string'
|
|
147
|
+
? context.options.openAITtsModel
|
|
148
|
+
: 'tts-1',
|
|
149
|
+
voice: typeof context.options?.openAITtsVoice === 'string'
|
|
150
|
+
? context.options.openAITtsVoice
|
|
151
|
+
: 'nova',
|
|
152
|
+
}),
|
|
153
|
+
metadata: {
|
|
154
|
+
providerId: 'openai-tts',
|
|
155
|
+
providerKind: 'tts',
|
|
156
|
+
},
|
|
157
|
+
},
|
|
158
|
+
{
|
|
159
|
+
id: 'agentos-elevenlabs-tts',
|
|
160
|
+
kind: 'tts-provider',
|
|
161
|
+
priority,
|
|
162
|
+
enableByDefault: true,
|
|
163
|
+
requiredSecrets: [{ id: 'elevenlabs.apiKey' }],
|
|
164
|
+
payload: new ElevenLabsTextToSpeechProvider({
|
|
165
|
+
apiKey: elevenLabsApiKey ?? '',
|
|
166
|
+
model: typeof context.options?.elevenLabsModel === 'string'
|
|
167
|
+
? context.options.elevenLabsModel
|
|
168
|
+
: 'eleven_multilingual_v2',
|
|
169
|
+
voiceId: typeof context.options?.elevenLabsVoiceId === 'string'
|
|
170
|
+
? context.options.elevenLabsVoiceId
|
|
171
|
+
: undefined,
|
|
172
|
+
}),
|
|
173
|
+
metadata: {
|
|
174
|
+
providerId: 'elevenlabs',
|
|
175
|
+
providerKind: 'tts',
|
|
176
|
+
},
|
|
177
|
+
},
|
|
178
|
+
{
|
|
179
|
+
id: 'agentos-adaptive-vad',
|
|
180
|
+
kind: 'vad-provider',
|
|
181
|
+
priority,
|
|
182
|
+
enableByDefault: true,
|
|
183
|
+
payload: new BuiltInAdaptiveVadProvider({
|
|
184
|
+
sampleRate: typeof context.options?.sampleRate === 'number'
|
|
185
|
+
? context.options.sampleRate
|
|
186
|
+
: 16_000,
|
|
187
|
+
frameDurationMs: typeof context.options?.frameDurationMs === 'number'
|
|
188
|
+
? context.options.frameDurationMs
|
|
189
|
+
: 20,
|
|
190
|
+
}),
|
|
191
|
+
metadata: {
|
|
192
|
+
providerId: 'agentos-adaptive-vad',
|
|
193
|
+
providerKind: 'vad',
|
|
194
|
+
},
|
|
195
|
+
},
|
|
196
|
+
],
|
|
197
|
+
};
|
|
198
|
+
}
|
|
199
|
+
function createLocalPackProxy(relativePath) {
|
|
200
|
+
return async (context) => {
|
|
201
|
+
const distRelativePath = relativePath.replace(/\/src\/index\.(?:ts|js)$/, '/dist/index.js');
|
|
202
|
+
const sourceTsRelativePath = relativePath.replace(/\.js$/, '.ts');
|
|
203
|
+
const candidateUrls = [
|
|
204
|
+
new URL(distRelativePath, import.meta.url),
|
|
205
|
+
new URL(relativePath, import.meta.url),
|
|
206
|
+
...(sourceTsRelativePath !== relativePath ? [new URL(sourceTsRelativePath, import.meta.url)] : []),
|
|
207
|
+
];
|
|
208
|
+
let mod;
|
|
209
|
+
let lastError;
|
|
210
|
+
for (const moduleUrl of candidateUrls) {
|
|
211
|
+
try {
|
|
212
|
+
mod = await import(moduleUrl.href);
|
|
213
|
+
break;
|
|
214
|
+
}
|
|
215
|
+
catch (error) {
|
|
216
|
+
lastError = error;
|
|
217
|
+
}
|
|
218
|
+
}
|
|
219
|
+
if (!mod) {
|
|
220
|
+
throw lastError instanceof Error ? lastError : new Error(`Failed to import local extension proxy for ${relativePath}`);
|
|
221
|
+
}
|
|
222
|
+
const factory = mod.createExtensionPack ?? mod.default?.createExtensionPack ?? mod.default;
|
|
223
|
+
if (typeof factory !== 'function') {
|
|
224
|
+
throw new Error(`Local extension ${relativePath} does not export createExtensionPack().`);
|
|
225
|
+
}
|
|
226
|
+
return await factory({
|
|
227
|
+
options: context.options,
|
|
228
|
+
getSecret: context.getSecret,
|
|
229
|
+
logger: context.logger,
|
|
230
|
+
});
|
|
231
|
+
};
|
|
232
|
+
}
|
|
11
233
|
/**
|
|
12
234
|
* Full catalog of tool, voice, and productivity extensions.
|
|
13
235
|
*/
|
|
@@ -32,6 +254,8 @@ export const TOOL_CATALOG = [
|
|
|
32
254
|
requiredSecrets: [],
|
|
33
255
|
defaultPriority: 20,
|
|
34
256
|
available: false,
|
|
257
|
+
envVars: ['SERPER_API_KEY', 'BRAVE_API_KEY'],
|
|
258
|
+
docsUrl: 'https://serper.dev/api-key',
|
|
35
259
|
},
|
|
36
260
|
{
|
|
37
261
|
packageName: '@framers/agentos-ext-web-browser',
|
|
@@ -43,6 +267,19 @@ export const TOOL_CATALOG = [
|
|
|
43
267
|
defaultPriority: 20,
|
|
44
268
|
available: false,
|
|
45
269
|
},
|
|
270
|
+
{
|
|
271
|
+
packageName: '@framers/agentos-ext-stealth-browser',
|
|
272
|
+
name: 'stealth-browser',
|
|
273
|
+
category: 'tool',
|
|
274
|
+
displayName: 'Stealth Browser',
|
|
275
|
+
description: 'Anti-detection browser — bypasses bot protection on Amazon, eBay, LinkedIn using puppeteer-extra with stealth plugin.',
|
|
276
|
+
requiredSecrets: [],
|
|
277
|
+
defaultPriority: 20,
|
|
278
|
+
available: true,
|
|
279
|
+
envVars: [],
|
|
280
|
+
docsUrl: 'https://docs.wunderland.sh/guides/extensions',
|
|
281
|
+
createPack: createLocalPackProxy('../../agentos-extensions/registry/curated/research/stealth-browser/src/index.ts'),
|
|
282
|
+
},
|
|
46
283
|
{
|
|
47
284
|
packageName: '@framers/agentos-ext-telegram',
|
|
48
285
|
name: 'telegram',
|
|
@@ -61,7 +298,7 @@ export const TOOL_CATALOG = [
|
|
|
61
298
|
description: 'Execute shell commands in a sandboxed environment.',
|
|
62
299
|
requiredSecrets: [],
|
|
63
300
|
defaultPriority: 20,
|
|
64
|
-
available:
|
|
301
|
+
available: true,
|
|
65
302
|
},
|
|
66
303
|
{
|
|
67
304
|
packageName: '@framers/agentos-ext-giphy',
|
|
@@ -69,9 +306,12 @@ export const TOOL_CATALOG = [
|
|
|
69
306
|
category: 'tool',
|
|
70
307
|
displayName: 'Giphy',
|
|
71
308
|
description: 'Search and share GIFs via the Giphy API.',
|
|
72
|
-
requiredSecrets: [],
|
|
309
|
+
requiredSecrets: ['giphy.apiKey'],
|
|
73
310
|
defaultPriority: 30,
|
|
74
|
-
available:
|
|
311
|
+
available: true,
|
|
312
|
+
envVars: ['GIPHY_API_KEY'],
|
|
313
|
+
docsUrl: 'https://developers.giphy.com/docs/api',
|
|
314
|
+
createPack: createLocalPackProxy('../../agentos-extensions/registry/curated/media/giphy/src/index.ts'),
|
|
75
315
|
},
|
|
76
316
|
{
|
|
77
317
|
packageName: '@framers/agentos-ext-image-search',
|
|
@@ -86,12 +326,15 @@ export const TOOL_CATALOG = [
|
|
|
86
326
|
{
|
|
87
327
|
packageName: '@framers/agentos-ext-voice-synthesis',
|
|
88
328
|
name: 'voice-synthesis',
|
|
89
|
-
category: '
|
|
329
|
+
category: 'voice',
|
|
90
330
|
displayName: 'Voice Synthesis',
|
|
91
|
-
description: '
|
|
331
|
+
description: 'Voice synthesis and transcription via OpenAI, ElevenLabs, Deepgram, and local Ollama/Whisper-compatible runtimes. Provides text_to_speech and speech_to_text tools.',
|
|
92
332
|
requiredSecrets: [],
|
|
333
|
+
envVars: ['ELEVENLABS_API_KEY', 'OPENAI_API_KEY', 'DEEPGRAM_API_KEY'],
|
|
334
|
+
docsUrl: 'https://elevenlabs.io/docs/api-reference',
|
|
93
335
|
defaultPriority: 30,
|
|
94
|
-
available:
|
|
336
|
+
available: true,
|
|
337
|
+
createPack: createLocalPackProxy('../../agentos-extensions/registry/curated/media/voice-synthesis/dist/index.js'),
|
|
95
338
|
},
|
|
96
339
|
{
|
|
97
340
|
packageName: '@framers/agentos-ext-news-search',
|
|
@@ -121,7 +364,9 @@ export const TOOL_CATALOG = [
|
|
|
121
364
|
description: 'Discover and enable curated SKILL.md prompt modules.',
|
|
122
365
|
requiredSecrets: [],
|
|
123
366
|
defaultPriority: 15,
|
|
124
|
-
available:
|
|
367
|
+
available: true,
|
|
368
|
+
docsUrl: 'https://docs.agentos.sh/guides/skills-system',
|
|
369
|
+
createPack: createLocalPackProxy('../../agentos-ext-skills/src/index.ts'),
|
|
125
370
|
},
|
|
126
371
|
// ── Community ──
|
|
127
372
|
{
|
|
@@ -153,7 +398,7 @@ export const TOOL_CATALOG = [
|
|
|
153
398
|
description: 'Full browser automation via Playwright — navigate, click, fill, screenshot, extract, sessions, captcha solving, proxy rotation.',
|
|
154
399
|
requiredSecrets: [],
|
|
155
400
|
defaultPriority: 20,
|
|
156
|
-
available:
|
|
401
|
+
available: true,
|
|
157
402
|
},
|
|
158
403
|
{
|
|
159
404
|
packageName: '@framers/agentos-ext-deep-research',
|
|
@@ -164,6 +409,8 @@ export const TOOL_CATALOG = [
|
|
|
164
409
|
requiredSecrets: ['serper.apiKey'],
|
|
165
410
|
defaultPriority: 25,
|
|
166
411
|
available: false,
|
|
412
|
+
envVars: ['SERPER_API_KEY'],
|
|
413
|
+
docsUrl: 'https://serper.dev/api-key',
|
|
167
414
|
},
|
|
168
415
|
{
|
|
169
416
|
packageName: '@framers/agentos-ext-content-extraction',
|
|
@@ -173,7 +420,7 @@ export const TOOL_CATALOG = [
|
|
|
173
420
|
description: 'Extract clean content from URLs, YouTube transcripts, Wikipedia, PDFs, and structured web data.',
|
|
174
421
|
requiredSecrets: [],
|
|
175
422
|
defaultPriority: 25,
|
|
176
|
-
available:
|
|
423
|
+
available: true,
|
|
177
424
|
},
|
|
178
425
|
{
|
|
179
426
|
packageName: '@framers/agentos-ext-credential-vault',
|
|
@@ -183,7 +430,7 @@ export const TOOL_CATALOG = [
|
|
|
183
430
|
description: 'Encrypted credential storage — set, get, list, rotate, and import API keys and tokens.',
|
|
184
431
|
requiredSecrets: [],
|
|
185
432
|
defaultPriority: 15,
|
|
186
|
-
available:
|
|
433
|
+
available: true,
|
|
187
434
|
},
|
|
188
435
|
{
|
|
189
436
|
packageName: '@framers/agentos-ext-notifications',
|
|
@@ -267,7 +514,196 @@ export const TOOL_CATALOG = [
|
|
|
267
514
|
defaultPriority: 30,
|
|
268
515
|
available: false,
|
|
269
516
|
},
|
|
517
|
+
// ── Memory ──
|
|
518
|
+
{
|
|
519
|
+
packageName: '@framers/agentos',
|
|
520
|
+
name: 'cognitive-memory',
|
|
521
|
+
category: 'tool',
|
|
522
|
+
displayName: 'Cognitive Memory',
|
|
523
|
+
description: 'Built-in cognitive memory provider from AgentOS core — Ebbinghaus decay, HEXACO-driven encoding, spreading activation, reminders, and consolidation.',
|
|
524
|
+
requiredSecrets: [],
|
|
525
|
+
defaultPriority: 15,
|
|
526
|
+
available: true,
|
|
527
|
+
createPack: createBuiltInCognitiveMemoryPack,
|
|
528
|
+
},
|
|
529
|
+
// ── Social Media Orchestration ──
|
|
530
|
+
{
|
|
531
|
+
packageName: '@framers/agentos-ext-tool-multi-channel-post',
|
|
532
|
+
name: 'multi-channel-post',
|
|
533
|
+
category: 'tool',
|
|
534
|
+
displayName: 'Multi-Channel Post',
|
|
535
|
+
description: 'Publish adapted content to multiple social platforms simultaneously.',
|
|
536
|
+
requiredSecrets: [],
|
|
537
|
+
defaultPriority: 45,
|
|
538
|
+
available: false,
|
|
539
|
+
},
|
|
540
|
+
// ── Inter-Agent Delegation ──
|
|
541
|
+
{
|
|
542
|
+
packageName: '@framers/agentos-ext-agent-delegation',
|
|
543
|
+
name: 'agent-delegation',
|
|
544
|
+
category: 'tool',
|
|
545
|
+
displayName: 'Agent Delegation',
|
|
546
|
+
description: 'Inter-agent communication — ping, delegate tasks, and broadcast to remote Wunderland agents over HTTP. Enables multi-agent collaboration and swarm orchestration.',
|
|
547
|
+
requiredSecrets: [],
|
|
548
|
+
defaultPriority: 50,
|
|
549
|
+
available: true,
|
|
550
|
+
},
|
|
551
|
+
{
|
|
552
|
+
packageName: '@framers/agentos-ext-tool-site-deploy',
|
|
553
|
+
name: 'site-deploy',
|
|
554
|
+
category: 'tool',
|
|
555
|
+
displayName: 'Site Deploy',
|
|
556
|
+
description: 'Deploy websites end-to-end — build, deploy to cloud, register domain, configure DNS. Orchestrates cloud provider and domain registrar tools.',
|
|
557
|
+
requiredSecrets: [],
|
|
558
|
+
defaultPriority: 45,
|
|
559
|
+
available: false,
|
|
560
|
+
},
|
|
561
|
+
// ── Cloud Providers ──
|
|
562
|
+
{
|
|
563
|
+
packageName: '@framers/agentos-ext-cloud-vercel',
|
|
564
|
+
name: 'cloud-vercel',
|
|
565
|
+
category: 'cloud',
|
|
566
|
+
displayName: 'Vercel',
|
|
567
|
+
description: 'Deploy to Vercel — Next.js, React, static sites, serverless. Project management, domain configuration, and environment variables.',
|
|
568
|
+
requiredSecrets: ['vercel.token'],
|
|
569
|
+
defaultPriority: 40,
|
|
570
|
+
available: false,
|
|
571
|
+
},
|
|
572
|
+
{
|
|
573
|
+
packageName: '@framers/agentos-ext-cloud-cloudflare-pages',
|
|
574
|
+
name: 'cloud-cloudflare-pages',
|
|
575
|
+
category: 'cloud',
|
|
576
|
+
displayName: 'Cloudflare Pages',
|
|
577
|
+
description: 'Deploy to Cloudflare Pages — static sites, JAMstack, Workers. DNS management and edge functions. Free tier available.',
|
|
578
|
+
requiredSecrets: ['cloudflare.apiToken', 'cloudflare.accountId'],
|
|
579
|
+
defaultPriority: 40,
|
|
580
|
+
available: false,
|
|
581
|
+
},
|
|
582
|
+
{
|
|
583
|
+
packageName: '@framers/agentos-ext-cloud-digitalocean',
|
|
584
|
+
name: 'cloud-digitalocean',
|
|
585
|
+
category: 'cloud',
|
|
586
|
+
displayName: 'DigitalOcean',
|
|
587
|
+
description: 'Deploy to DigitalOcean — App Platform (PaaS), Droplets (VPS), managed databases. DNS management included.',
|
|
588
|
+
requiredSecrets: ['digitalocean.token'],
|
|
589
|
+
defaultPriority: 40,
|
|
590
|
+
available: false,
|
|
591
|
+
},
|
|
592
|
+
{
|
|
593
|
+
packageName: '@framers/agentos-ext-cloud-netlify',
|
|
594
|
+
name: 'cloud-netlify',
|
|
595
|
+
category: 'cloud',
|
|
596
|
+
displayName: 'Netlify',
|
|
597
|
+
description: 'Deploy to Netlify — static sites, serverless functions, form handling. Custom domain and environment variable management.',
|
|
598
|
+
requiredSecrets: ['netlify.token'],
|
|
599
|
+
defaultPriority: 40,
|
|
600
|
+
available: false,
|
|
601
|
+
},
|
|
602
|
+
{
|
|
603
|
+
packageName: '@framers/agentos-ext-cloud-linode',
|
|
604
|
+
name: 'cloud-linode',
|
|
605
|
+
category: 'cloud',
|
|
606
|
+
displayName: 'Linode / Akamai',
|
|
607
|
+
description: 'Deploy to Linode — VPS instances, StackScripts, NodeBalancers, DNS. Full infrastructure management.',
|
|
608
|
+
requiredSecrets: ['linode.token'],
|
|
609
|
+
defaultPriority: 35,
|
|
610
|
+
available: false,
|
|
611
|
+
},
|
|
612
|
+
{
|
|
613
|
+
packageName: '@framers/agentos-ext-cloud-aws',
|
|
614
|
+
name: 'cloud-aws',
|
|
615
|
+
category: 'cloud',
|
|
616
|
+
displayName: 'AWS',
|
|
617
|
+
description: 'Deploy to AWS — S3 static hosting, Amplify, Lightsail, CloudFront CDN, Route53 DNS, Lambda. Enterprise-grade infrastructure.',
|
|
618
|
+
requiredSecrets: ['aws.accessKeyId', 'aws.secretAccessKey'],
|
|
619
|
+
defaultPriority: 35,
|
|
620
|
+
available: false,
|
|
621
|
+
},
|
|
622
|
+
{
|
|
623
|
+
packageName: '@framers/agentos-ext-cloud-heroku',
|
|
624
|
+
name: 'cloud-heroku',
|
|
625
|
+
category: 'cloud',
|
|
626
|
+
displayName: 'Heroku',
|
|
627
|
+
description: 'Deploy to Heroku — backend services, add-ons (Postgres, Redis), dyno scaling. Quick prototype deployment.',
|
|
628
|
+
requiredSecrets: ['heroku.apiKey'],
|
|
629
|
+
defaultPriority: 35,
|
|
630
|
+
available: false,
|
|
631
|
+
},
|
|
632
|
+
{
|
|
633
|
+
packageName: '@framers/agentos-ext-cloud-railway',
|
|
634
|
+
name: 'cloud-railway',
|
|
635
|
+
category: 'cloud',
|
|
636
|
+
displayName: 'Railway',
|
|
637
|
+
description: 'Deploy to Railway — full-stack apps with built-in databases (Postgres, Redis, MySQL, MongoDB). Automatic deployments from Git.',
|
|
638
|
+
requiredSecrets: ['railway.token'],
|
|
639
|
+
defaultPriority: 30,
|
|
640
|
+
available: false,
|
|
641
|
+
},
|
|
642
|
+
{
|
|
643
|
+
packageName: '@framers/agentos-ext-cloud-flyio',
|
|
644
|
+
name: 'cloud-flyio',
|
|
645
|
+
category: 'cloud',
|
|
646
|
+
displayName: 'Fly.io',
|
|
647
|
+
description: 'Deploy to Fly.io — global edge compute, Docker containers, persistent volumes. Low-latency worldwide deployment.',
|
|
648
|
+
requiredSecrets: ['fly.token'],
|
|
649
|
+
defaultPriority: 30,
|
|
650
|
+
available: false,
|
|
651
|
+
},
|
|
652
|
+
// ── Domain Registrars ──
|
|
653
|
+
{
|
|
654
|
+
packageName: '@framers/agentos-ext-domain-porkbun',
|
|
655
|
+
name: 'domain-porkbun',
|
|
656
|
+
category: 'domain',
|
|
657
|
+
displayName: 'Porkbun',
|
|
658
|
+
description: 'Domain registrar — search, register, and manage domains via Porkbun. DNS record management included.',
|
|
659
|
+
requiredSecrets: ['porkbun.apiKey', 'porkbun.secretApiKey'],
|
|
660
|
+
defaultPriority: 35,
|
|
661
|
+
available: false,
|
|
662
|
+
},
|
|
663
|
+
{
|
|
664
|
+
packageName: '@framers/agentos-ext-domain-namecheap',
|
|
665
|
+
name: 'domain-namecheap',
|
|
666
|
+
category: 'domain',
|
|
667
|
+
displayName: 'Namecheap',
|
|
668
|
+
description: 'Domain registrar — search, register, and manage domains via Namecheap. DNS host record management included.',
|
|
669
|
+
requiredSecrets: ['namecheap.apiUser', 'namecheap.apiKey'],
|
|
670
|
+
defaultPriority: 35,
|
|
671
|
+
available: false,
|
|
672
|
+
},
|
|
673
|
+
{
|
|
674
|
+
packageName: '@framers/agentos-ext-domain-godaddy',
|
|
675
|
+
name: 'domain-godaddy',
|
|
676
|
+
category: 'domain',
|
|
677
|
+
displayName: 'GoDaddy',
|
|
678
|
+
description: 'Domain registrar — search, register, and manage domains via GoDaddy. DNS record management included.',
|
|
679
|
+
requiredSecrets: ['godaddy.apiKey', 'godaddy.apiSecret'],
|
|
680
|
+
defaultPriority: 35,
|
|
681
|
+
available: false,
|
|
682
|
+
},
|
|
683
|
+
{
|
|
684
|
+
packageName: '@framers/agentos-ext-domain-cloudflare-registrar',
|
|
685
|
+
name: 'domain-cloudflare-registrar',
|
|
686
|
+
category: 'domain',
|
|
687
|
+
displayName: 'Cloudflare Registrar',
|
|
688
|
+
description: 'Domain management via Cloudflare — transfer domains, manage DNS records, configure domain settings.',
|
|
689
|
+
requiredSecrets: ['cloudflare.apiToken', 'cloudflare.accountId'],
|
|
690
|
+
defaultPriority: 35,
|
|
691
|
+
available: false,
|
|
692
|
+
},
|
|
270
693
|
// ── Voice Providers ──
|
|
694
|
+
{
|
|
695
|
+
packageName: '@framers/agentos:speech-runtime',
|
|
696
|
+
name: 'speech-runtime',
|
|
697
|
+
category: 'voice',
|
|
698
|
+
displayName: 'Speech Runtime',
|
|
699
|
+
description: 'Built-in provider-agnostic speech runtime with OpenAI Whisper, OpenAI TTS, ElevenLabs TTS, and AgentOS adaptive VAD.',
|
|
700
|
+
requiredSecrets: [],
|
|
701
|
+
defaultPriority: 25,
|
|
702
|
+
available: true,
|
|
703
|
+
envVars: ['OPENAI_API_KEY', 'ELEVENLABS_API_KEY'],
|
|
704
|
+
docsUrl: 'https://platform.openai.com/api-keys',
|
|
705
|
+
createPack: createBuiltInSpeechRuntimePack,
|
|
706
|
+
},
|
|
271
707
|
{
|
|
272
708
|
packageName: '@framers/agentos-ext-voice-twilio',
|
|
273
709
|
name: 'voice-twilio',
|
|
@@ -308,6 +744,9 @@ export const TOOL_CATALOG = [
|
|
|
308
744
|
requiredSecrets: ['google.clientId', 'google.clientSecret', 'google.refreshToken'],
|
|
309
745
|
defaultPriority: 40,
|
|
310
746
|
available: false,
|
|
747
|
+
envVars: ['GOOGLE_CLIENT_ID', 'GOOGLE_CLIENT_SECRET', 'GOOGLE_REFRESH_TOKEN', 'GOOGLE_CALENDAR_REFRESH_TOKEN'],
|
|
748
|
+
docsUrl: 'https://console.cloud.google.com/apis/credentials',
|
|
749
|
+
createPack: createLocalPackProxy('../../agentos-extensions/registry/curated/productivity/google-calendar/src/index.js'),
|
|
311
750
|
},
|
|
312
751
|
{
|
|
313
752
|
packageName: '@framers/agentos-ext-email-gmail',
|
|
@@ -317,7 +756,23 @@ export const TOOL_CATALOG = [
|
|
|
317
756
|
description: 'Gmail API — send, read, search, reply to emails, manage labels.',
|
|
318
757
|
requiredSecrets: ['google.clientId', 'google.clientSecret', 'google.refreshToken'],
|
|
319
758
|
defaultPriority: 40,
|
|
320
|
-
available:
|
|
759
|
+
available: true,
|
|
760
|
+
envVars: ['GOOGLE_CLIENT_ID', 'GOOGLE_CLIENT_SECRET', 'GOOGLE_REFRESH_TOKEN'],
|
|
761
|
+
docsUrl: 'https://console.cloud.google.com/apis/credentials',
|
|
762
|
+
createPack: createLocalPackProxy('../../agentos-extensions/registry/curated/productivity/gmail/src/index.js'),
|
|
763
|
+
},
|
|
764
|
+
{
|
|
765
|
+
packageName: '@framers/agentos-ext-image-generation',
|
|
766
|
+
name: 'image-generation',
|
|
767
|
+
category: 'tool',
|
|
768
|
+
displayName: 'Image Generation',
|
|
769
|
+
description: 'Generate images from text prompts using DALL-E 3 or Stability AI.',
|
|
770
|
+
requiredSecrets: ['openai.apiKey'],
|
|
771
|
+
defaultPriority: 50,
|
|
772
|
+
available: true,
|
|
773
|
+
envVars: ['OPENAI_API_KEY', 'STABILITY_API_KEY'],
|
|
774
|
+
docsUrl: 'https://platform.openai.com/api-keys',
|
|
775
|
+
createPack: createLocalPackProxy('../../agentos-extensions/registry/curated/tools/image-generation/src/index.js'),
|
|
321
776
|
},
|
|
322
777
|
];
|
|
323
778
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tool-registry.js","sourceRoot":"","sources":["../src/tool-registry.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"tool-registry.js","sourceRoot":"","sources":["../src/tool-registry.ts"],"names":[],"mappings":"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"}
|
package/dist/types.d.ts
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
* @fileoverview Configuration types for the extensions registry bundle.
|
|
3
3
|
* @module @framers/agentos-extensions-registry/types
|
|
4
4
|
*/
|
|
5
|
-
|
|
5
|
+
export type ChannelPlatform = string;
|
|
6
6
|
export interface RegistryLogger {
|
|
7
7
|
info?: (...args: any[]) => void;
|
|
8
8
|
warn?: (...args: any[]) => void;
|
|
@@ -41,6 +41,20 @@ export interface RegistryOptions {
|
|
|
41
41
|
* - `'none'`: disable all productivity extensions.
|
|
42
42
|
*/
|
|
43
43
|
productivity?: string[] | 'all' | 'none';
|
|
44
|
+
/**
|
|
45
|
+
* Which cloud provider extensions to enable.
|
|
46
|
+
* - Array of provider names (e.g., 'cloud-vercel', 'cloud-cloudflare-pages').
|
|
47
|
+
* - `'all'`: enable all available cloud providers (default).
|
|
48
|
+
* - `'none'`: disable all cloud providers.
|
|
49
|
+
*/
|
|
50
|
+
cloud?: string[] | 'all' | 'none';
|
|
51
|
+
/**
|
|
52
|
+
* Which domain registrar extensions to enable.
|
|
53
|
+
* - Array of registrar names (e.g., 'domain-porkbun', 'domain-namecheap').
|
|
54
|
+
* - `'all'`: enable all available domain registrars (default).
|
|
55
|
+
* - `'none'`: disable all domain registrars.
|
|
56
|
+
*/
|
|
57
|
+
domains?: string[] | 'all' | 'none';
|
|
44
58
|
/**
|
|
45
59
|
* Secrets map (API keys, tokens, credentials).
|
|
46
60
|
* Keys match secret IDs from `extension-secrets.json` (e.g., 'telegram.botToken').
|
|
@@ -72,6 +86,11 @@ export interface ExtensionOverrideConfig {
|
|
|
72
86
|
/** Additional options passed to the pack factory. */
|
|
73
87
|
options?: Record<string, unknown>;
|
|
74
88
|
}
|
|
89
|
+
export interface RegistryPackContext {
|
|
90
|
+
options?: Record<string, unknown>;
|
|
91
|
+
logger?: RegistryLogger;
|
|
92
|
+
getSecret?: (secretId: string) => string | undefined;
|
|
93
|
+
}
|
|
75
94
|
/**
|
|
76
95
|
* Metadata about an extension available in the registry.
|
|
77
96
|
*/
|
|
@@ -80,8 +99,8 @@ export interface ExtensionInfo {
|
|
|
80
99
|
packageName: string;
|
|
81
100
|
/** Short name (e.g., 'telegram'). */
|
|
82
101
|
name: string;
|
|
83
|
-
/** Category (e.g., 'channel', 'tool', 'integration'). */
|
|
84
|
-
category: 'channel' | 'tool' | 'integration' | 'provenance' | 'voice' | 'productivity';
|
|
102
|
+
/** Category (e.g., 'channel', 'tool', 'integration', 'cloud', 'domain'). */
|
|
103
|
+
category: 'channel' | 'tool' | 'integration' | 'provenance' | 'voice' | 'productivity' | 'cloud' | 'domain';
|
|
85
104
|
/** Whether the package's dependencies are installed and importable. */
|
|
86
105
|
available: boolean;
|
|
87
106
|
/** Human-readable display name. */
|
|
@@ -92,6 +111,15 @@ export interface ExtensionInfo {
|
|
|
92
111
|
requiredSecrets: string[];
|
|
93
112
|
/** Default priority. */
|
|
94
113
|
defaultPriority: number;
|
|
114
|
+
/** Environment variables this extension reads. */
|
|
115
|
+
envVars?: string[];
|
|
116
|
+
/** URL to obtain API keys. */
|
|
117
|
+
docsUrl?: string;
|
|
118
|
+
/**
|
|
119
|
+
* Optional inline pack factory for built-in capabilities that do not live in
|
|
120
|
+
* a standalone `@framers/agentos-ext-*` package.
|
|
121
|
+
*/
|
|
122
|
+
createPack?: (context: RegistryPackContext) => Promise<unknown> | unknown;
|
|
95
123
|
}
|
|
96
124
|
/**
|
|
97
125
|
* Registry entry for a channel extension.
|
package/dist/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@framers/agentos-extensions-registry",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.2.0",
|
|
4
4
|
"files": [
|
|
5
5
|
"dist",
|
|
6
6
|
"README.md"
|
|
7
7
|
],
|
|
8
|
-
"description": "Curated extension registry bundle for AgentOS
|
|
8
|
+
"description": "Curated extension registry bundle for AgentOS — single import to register channels, tools, and integrations",
|
|
9
9
|
"type": "module",
|
|
10
10
|
"sideEffects": false,
|
|
11
11
|
"main": "./dist/index.js",
|
|
@@ -69,18 +69,18 @@
|
|
|
69
69
|
"optionalDependencies": {
|
|
70
70
|
"@framers/agentos-ext-auth": "^1.1.0",
|
|
71
71
|
"@framers/agentos-ext-web-search": "^1.1.1",
|
|
72
|
-
"@framers/agentos-ext-web-browser": "^1.1
|
|
72
|
+
"@framers/agentos-ext-web-browser": "^1.2.1",
|
|
73
73
|
"@framers/agentos-ext-telegram": "^1.1.0",
|
|
74
|
-
"@framers/agentos-ext-cli-executor": "^1.
|
|
74
|
+
"@framers/agentos-ext-cli-executor": "^1.2.0",
|
|
75
75
|
"@framers/agentos-ext-giphy": "^1.0.0",
|
|
76
76
|
"@framers/agentos-ext-image-search": "^1.0.0",
|
|
77
|
-
"@framers/agentos-ext-voice-synthesis": "
|
|
77
|
+
"@framers/agentos-ext-voice-synthesis": "workspace:*",
|
|
78
78
|
"@framers/agentos-ext-news-search": "^1.0.0",
|
|
79
79
|
"@framers/agentos-ext-weather": "^1.0.0"
|
|
80
80
|
},
|
|
81
81
|
"devDependencies": {
|
|
82
|
-
"@framers/agentos": "^0.1.
|
|
82
|
+
"@framers/agentos": "^0.1.47",
|
|
83
83
|
"typescript": "^5.4.5",
|
|
84
84
|
"vitest": "^1.0.0"
|
|
85
85
|
}
|
|
86
|
-
}
|
|
86
|
+
}
|