@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 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
+ &nbsp;&nbsp;&nbsp;
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
+ [![npm](https://img.shields.io/npm/v/@framers/agentos-extensions-registry?logo=npm&color=cb3837)](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
@@ -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,iBAAiB,EAA8B,MAAM,kBAAkB,CAAC;AACtF,OAAO,KAAK,EAAE,eAAe,EAAE,aAAa,EAAkB,MAAM,YAAY,CAAC;AA6BjF;;;GAGG;AACH,wBAAsB,sBAAsB,IAAI,OAAO,CAAC,aAAa,EAAE,CAAC,CAKvE;AAED;;GAEG;AACH,wBAAsB,oBAAoB,IAAI,OAAO,CAAC,aAAa,EAAE,CAAC,CAErE;AAED;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,wBAAsB,qBAAqB,CAAC,OAAO,CAAC,EAAE,eAAe,GAAG,OAAO,CAAC,iBAAiB,CAAC,CA6GjG"}
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"}
@@ -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) => ({ ...entry, available: isPackageInstalled(entry.packageName) }));
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) => ({ ...entry, available: isPackageInstalled(entry.packageName) }));
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;AAIH,OAAO,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC3E,OAAO,EAAE,gBAAgB,EAAsB,MAAM,wBAAwB,CAAC;AAC9E,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,SAAS,kBAAkB,CAAC,WAAmB;IAC7C,IAAI,CAAC,WAAW;QAAE,OAAO,KAAK,CAAC;IAE/B,0EAA0E;IAC1E,wEAAwE;IACxE,IAAI,CAAC;QACH,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;QACjC,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,KAAK,UAAU,SAAS,CAAC,WAAmB;IAC1C,IAAI,CAAC;QACH,OAAO,MAAM,MAAM,CAAC,WAAW,CAAC,CAAC;IACnC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,sBAAsB;IAC1C,MAAM,UAAU,GAAoB,CAAC,GAAG,YAAY,EAAE,GAAG,eAAe,EAAE,GAAG,gBAAgB,CAAC,CAAC;IAC/F,6EAA6E;IAC7E,qEAAqE;IACrE,OAAO,UAAU,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,KAAK,EAAE,SAAS,EAAE,kBAAkB,CAAC,KAAK,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,CAAC;AACrG,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,oBAAoB;IACxC,OAAO,eAAe,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,KAAK,EAAE,SAAS,EAAE,kBAAkB,CAAC,KAAK,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,CAAC;AAC1G,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,MAAM,CAAC,KAAK,UAAU,qBAAqB,CAAC,OAAyB;IACnE,MAAM,YAAY,GAAG,OAAO,EAAE,YAAY,IAAI,CAAC,CAAC;IAChD,MAAM,OAAO,GAAG,OAAO,EAAE,OAAO,CAAC;IACjC,MAAM,MAAM,GAA+B,OAAO,EAAE,MAAM,IAAI,OAAO,CAAC;IACtE,MAAM,KAAK,GAAiC,EAAE,CAAC;IAE/C,0CAA0C;IAC1C,MAAM,SAAS,GAAG,KAAK,EAAE,KAAoB,EAAE,EAAE;QAC/C,MAAM,QAAQ,GAAG,OAAO,EAAE,SAAS,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAClD,IAAI,QAAQ,EAAE,OAAO,KAAK,KAAK;YAAE,OAAO;QAExC,MAAM,GAAG,GAAG,MAAM,SAAS,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;QAC/C,IAAI,CAAC,GAAG;YAAE,OAAO;QAEjB,MAAM,OAAO,GAAG,GAAG,CAAC,mBAAmB,IAAI,GAAG,CAAC,OAAO,EAAE,mBAAmB,IAAI,GAAG,CAAC,OAAO,CAAC;QAC3F,IAAI,OAAO,OAAO,KAAK,UAAU;YAAE,OAAO;QAE1C,MAAM,iBAAiB,GAAG,QAAQ,EAAE,QAAQ,IAAI,YAAY,GAAG,KAAK,CAAC,eAAe,CAAC;QACrF,MAAM,gBAAgB,GAAG;YACvB,GAAG,QAAQ,EAAE,OAAO;YACpB,OAAO;YACP,sFAAsF;YACtF,QAAQ,EAAG,QAAQ,EAAE,OAA+C,EAAE,QAAQ,IAAI,iBAAiB;SACpG,CAAC;QAEF,KAAK,CAAC,IAAI,CAAC;YACT,OAAO,EAAE,GAAG,EAAE,CACZ,OAAO,CAAC;gBACN,OAAO,EAAE,gBAAgB;gBACzB,SAAS,EAAE,CAAC,QAAgB,EAAE,EAAE,CAAC,OAAO,EAAE,CAAC,QAAQ,CAAC;gBACpD,MAAM;aACP,CAAC;YACJ,wEAAwE;YACxE,QAAQ,EAAE,iBAAiB;YAC3B,OAAO,EAAE,IAAI;YACb,UAAU,EAAE,YAAY,KAAK,CAAC,IAAI,EAAE;YACpC,oFAAoF;YACpF,OAAO,EAAE,gBAAgB;SAC1B,CAAC,CAAC;IACL,CAAC,CAAC;IAEF,iCAAiC;IACjC,MAAM,eAAe,GAAG,YAAY,CAAC,MAAM,CACzC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,MAAM,IAAI,CAAC,CAAC,QAAQ,KAAK,aAAa,CAC7D,CAAC;IACF,MAAM,YAAY,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC;IACxE,MAAM,mBAAmB,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,cAAc,CAAC,CAAC;IAEtF,wBAAwB;IACxB,MAAM,UAAU,GAAG,OAAO,EAAE,KAAK,IAAI,KAAK,CAAC;IAC3C,MAAM,aAAa,GACjB,UAAU,KAAK,MAAM;QACnB,CAAC,CAAC,EAAE;QACJ,CAAC,CAAC,UAAU,KAAK,KAAK;YACpB,CAAC,CAAC,eAAe;YACjB,CAAC,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;IAEnE,KAAK,MAAM,KAAK,IAAI,aAAa,EAAE,CAAC;QAClC,MAAM,SAAS,CAAC,KAAK,CAAC,CAAC;IACzB,CAAC;IAED,kCAAkC;IAClC,MAAM,WAAW,GAAG,OAAO,EAAE,KAAK,IAAI,KAAK,CAAC;IAC5C,MAAM,aAAa,GACjB,WAAW,KAAK,MAAM;QACpB,CAAC,CAAC,EAAE;QACJ,CAAC,CAAC,WAAW,KAAK,KAAK;YACrB,CAAC,CAAC,YAAY;YACd,CAAC,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;IAEjE,KAAK,MAAM,KAAK,IAAI,aAAa,EAAE,CAAC;QAClC,MAAM,SAAS,CAAC,KAAK,CAAC,CAAC;IACzB,CAAC;IAED,gCAAgC;IAChC,MAAM,UAAU,GAAG,OAAO,EAAE,YAAY,IAAI,KAAK,CAAC;IAClD,MAAM,YAAY,GAChB,UAAU,KAAK,MAAM;QACnB,CAAC,CAAC,EAAE;QACJ,CAAC,CAAC,UAAU,KAAK,KAAK;YACpB,CAAC,CAAC,mBAAmB;YACrB,CAAC,CAAC,mBAAmB,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;IAEvE,KAAK,MAAM,KAAK,IAAI,YAAY,EAAE,CAAC;QACjC,MAAM,SAAS,CAAC,KAAK,CAAC,CAAC;IACzB,CAAC;IAED,2BAA2B;IAC3B,MAAM,cAAc,GAAG,iBAAiB,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;IAE5D,KAAK,MAAM,KAAK,IAAI,cAAc,EAAE,CAAC;QACnC,MAAM,SAAS,CAAC,KAAK,CAAC,CAAC;IACzB,CAAC;IAED,wBAAwB;IACxB,MAAM,iBAAiB,GAAG,OAAO,EAAE,SAAS;QAC1C,CAAC,CAAC;YACE,KAAK,EAAE,MAAM,CAAC,WAAW,CACvB,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC;iBAC9B,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,KAAK,SAAS,IAAI,CAAC,CAAC,QAAQ,KAAK,SAAS,CAAC;iBACtE,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,QAAQ,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,CACtE;SACF;QACH,CAAC,CAAC,SAAS,CAAC;IAEd,OAAO;QACL,KAAK;QACL,SAAS,EAAE,iBAAiB;KAC7B,CAAC;AACJ,CAAC"}
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,EAAE,MAAM,YAAY,CAAC;AAEhD;;GAEG;AACH,eAAO,MAAM,YAAY,EAAE,aAAa,EA4TvC,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"}
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"}
@@ -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: false,
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: false,
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: 'tool',
329
+ category: 'voice',
90
330
  displayName: 'Voice Synthesis',
91
- description: 'Text-to-speech synthesis via ElevenLabs or similar.',
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: false,
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: false,
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: false,
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: false,
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: false,
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: false,
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
- import type { ChannelPlatform } from '@framers/agentos';
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.
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAExD,MAAM,WAAW,cAAc;IAC7B,IAAI,CAAC,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,IAAI,CAAC;IAChC,IAAI,CAAC,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,IAAI,CAAC;IAChC,KAAK,CAAC,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,IAAI,CAAC;IACjC,KAAK,CAAC,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,IAAI,CAAC;CAClC;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B;;;;;OAKG;IACH,QAAQ,CAAC,EAAE,eAAe,EAAE,GAAG,KAAK,GAAG,MAAM,CAAC;IAE9C;;;;;OAKG;IACH,KAAK,CAAC,EAAE,MAAM,EAAE,GAAG,KAAK,GAAG,MAAM,CAAC;IAElC;;;;;OAKG;IACH,KAAK,CAAC,EAAE,MAAM,EAAE,GAAG,KAAK,GAAG,MAAM,CAAC;IAElC;;;;;OAKG;IACH,YAAY,CAAC,EAAE,MAAM,EAAE,GAAG,KAAK,GAAG,MAAM,CAAC;IAEzC;;;;OAIG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAEjC;;OAEG;IACH,MAAM,CAAC,EAAE,cAAc,CAAC;IAExB;;;OAGG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IAEtB;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,uBAAuB,CAAC,CAAC;CACrD;AAED;;GAEG;AACH,MAAM,WAAW,uBAAuB;IACtC,4BAA4B;IAC5B,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,yBAAyB;IACzB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,qDAAqD;IACrD,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACnC;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,4DAA4D;IAC5D,WAAW,EAAE,MAAM,CAAC;IACpB,qCAAqC;IACrC,IAAI,EAAE,MAAM,CAAC;IACb,yDAAyD;IACzD,QAAQ,EAAE,SAAS,GAAG,MAAM,GAAG,aAAa,GAAG,YAAY,GAAG,OAAO,GAAG,cAAc,CAAC;IACvF,uEAAuE;IACvE,SAAS,EAAE,OAAO,CAAC;IACnB,mCAAmC;IACnC,WAAW,EAAE,MAAM,CAAC;IACpB,mBAAmB;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,2BAA2B;IAC3B,eAAe,EAAE,MAAM,EAAE,CAAC;IAC1B,wBAAwB;IACxB,eAAe,EAAE,MAAM,CAAC;CACzB;AAED;;GAEG;AACH,MAAM,WAAW,oBAAqB,SAAQ,aAAa;IACzD,QAAQ,EAAE,SAAS,CAAC;IACpB,2BAA2B;IAC3B,QAAQ,EAAE,eAAe,CAAC;IAC1B,uDAAuD;IACvD,UAAU,EAAE,MAAM,CAAC;CACpB"}
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.1.4",
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 \u2014 single import to register channels, tools, and integrations",
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.0",
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.1.0",
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": "^1.0.0",
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.0",
82
+ "@framers/agentos": "^0.1.47",
83
83
  "typescript": "^5.4.5",
84
84
  "vitest": "^1.0.0"
85
85
  }
86
- }
86
+ }