@cotal-ai/connector-hermes 0.108.1 → 0.109.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/dist/launch.js +40 -4
- package/package.json +3 -3
- package/plugin/cotal/_sidecar/standalone.cjs +40 -4
package/dist/launch.js
CHANGED
|
@@ -45077,6 +45077,8 @@ function claims(ext) {
|
|
|
45077
45077
|
}
|
|
45078
45078
|
var Registry = class {
|
|
45079
45079
|
#byKey = /* @__PURE__ */ new Map();
|
|
45080
|
+
/** `kind:name` → the declared provider that registers it, and its import once one has started. */
|
|
45081
|
+
#providers = /* @__PURE__ */ new Map();
|
|
45080
45082
|
/** `kind:alias` → the claiming extension's `kind:name` key, for committed extensions. */
|
|
45081
45083
|
#aliases = /* @__PURE__ */ new Map();
|
|
45082
45084
|
/** While a stage is active in the CURRENT async context, {@link register} writes there instead of
|
|
@@ -45163,13 +45165,47 @@ var Registry = class {
|
|
|
45163
45165
|
return this.#aliases.get(key) ?? key;
|
|
45164
45166
|
}
|
|
45165
45167
|
/** Resolve one extension by kind + name or alias. Unknown throws. Staged (uncommitted) registrations are
|
|
45166
|
-
* invisible here; only committed ones resolve.
|
|
45168
|
+
* invisible here; only committed ones resolve. A key whose declared provider has not loaded throws
|
|
45169
|
+
* too, naming that: {@link load} resolves it. */
|
|
45167
45170
|
resolve(kind, name) {
|
|
45168
45171
|
const ext = this.#byKey.get(this.#canonical(kind, name));
|
|
45169
|
-
if (!ext)
|
|
45172
|
+
if (!ext) {
|
|
45173
|
+
if (this.#providers.has(`${kind}:${name}`))
|
|
45174
|
+
throw new Error(`${kind} "${name}" is declared by a provider this process has not loaded`);
|
|
45170
45175
|
throw new Error(`no ${kind} registered for "${name}"`);
|
|
45176
|
+
}
|
|
45171
45177
|
return ext;
|
|
45172
45178
|
}
|
|
45179
|
+
/** Declare a provider: a module that registers `provides` when it is imported. Nothing is imported
|
|
45180
|
+
* here. A key that another provider already declares is refused, so a key has one provider. */
|
|
45181
|
+
provide(provider) {
|
|
45182
|
+
const keys = provider.provides.map((ref) => `${ref.kind}:${ref.name}`);
|
|
45183
|
+
for (const key of keys)
|
|
45184
|
+
if (this.#providers.has(key))
|
|
45185
|
+
throw new Error(`extension provider already declared: ${key}`);
|
|
45186
|
+
const entry = { provider };
|
|
45187
|
+
for (const key of keys)
|
|
45188
|
+
this.#providers.set(key, entry);
|
|
45189
|
+
}
|
|
45190
|
+
/** Whether a provider was declared for exactly this kind + name, loaded or not. A boolean probe
|
|
45191
|
+
* that never throws and imports nothing. */
|
|
45192
|
+
provides(kind, name) {
|
|
45193
|
+
return this.#providers.has(`${kind}:${name}`);
|
|
45194
|
+
}
|
|
45195
|
+
/** Resolve kind + name, first importing the provider declared for it unless that import has run.
|
|
45196
|
+
* Concurrent calls share one import. A key no provider declares resolves as {@link resolve} does.
|
|
45197
|
+
* A provider that loads without registering the key it declared throws: the declaration is wrong,
|
|
45198
|
+
* and no other extension stands in for it. */
|
|
45199
|
+
async load(kind, name) {
|
|
45200
|
+
const entry = this.#providers.get(`${kind}:${name}`);
|
|
45201
|
+
if (entry) {
|
|
45202
|
+
entry.loading ??= entry.provider.load();
|
|
45203
|
+
await entry.loading;
|
|
45204
|
+
if (!this.#byKey.has(this.#canonical(kind, name)))
|
|
45205
|
+
throw new Error(`the provider declared for ${kind} "${name}" loaded without registering it`);
|
|
45206
|
+
}
|
|
45207
|
+
return this.resolve(kind, name);
|
|
45208
|
+
}
|
|
45173
45209
|
all(kind) {
|
|
45174
45210
|
const values = [...this.#byKey.values()];
|
|
45175
45211
|
return kind === void 0 ? values : values.filter((e) => e.kind === kind);
|
|
@@ -63240,10 +63276,10 @@ function date4(params) {
|
|
|
63240
63276
|
config(en_default());
|
|
63241
63277
|
|
|
63242
63278
|
// ../connector-core/dist/docs-bundle.generated.js
|
|
63243
|
-
var DOCS_VERSION = "0.
|
|
63279
|
+
var DOCS_VERSION = "0.109.0";
|
|
63244
63280
|
function loadDocsBundle() {
|
|
63245
63281
|
return {
|
|
63246
|
-
"version": "0.
|
|
63282
|
+
"version": "0.109.0",
|
|
63247
63283
|
"generatedFrom": "docs/*.md + SPEC.md + spec/cotal-lang.md + spec/cotal.schema.json",
|
|
63248
63284
|
"pages": [
|
|
63249
63285
|
{
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@cotal-ai/connector-hermes",
|
|
3
3
|
"description": "Cotal connector for the Hermes (Nous Research) agent.",
|
|
4
|
-
"version": "0.
|
|
4
|
+
"version": "0.109.0",
|
|
5
5
|
"license": "Apache-2.0",
|
|
6
6
|
"repository": {
|
|
7
7
|
"type": "git",
|
|
@@ -24,8 +24,8 @@
|
|
|
24
24
|
"@cotal-ai/core": ">=0.1.0"
|
|
25
25
|
},
|
|
26
26
|
"devDependencies": {
|
|
27
|
-
"@cotal-ai/core": "0.
|
|
28
|
-
"@cotal-ai/connector-core": "0.
|
|
27
|
+
"@cotal-ai/core": "0.109.0",
|
|
28
|
+
"@cotal-ai/connector-core": "0.109.0",
|
|
29
29
|
"@cotal-ai/smoke-kit": "0.0.0",
|
|
30
30
|
"esbuild": "^0.28.0",
|
|
31
31
|
"tsx": "^4.22.4",
|
|
@@ -44934,6 +44934,8 @@ function claims(ext) {
|
|
|
44934
44934
|
}
|
|
44935
44935
|
var Registry = class {
|
|
44936
44936
|
#byKey = /* @__PURE__ */ new Map();
|
|
44937
|
+
/** `kind:name` → the declared provider that registers it, and its import once one has started. */
|
|
44938
|
+
#providers = /* @__PURE__ */ new Map();
|
|
44937
44939
|
/** `kind:alias` → the claiming extension's `kind:name` key, for committed extensions. */
|
|
44938
44940
|
#aliases = /* @__PURE__ */ new Map();
|
|
44939
44941
|
/** While a stage is active in the CURRENT async context, {@link register} writes there instead of
|
|
@@ -45020,13 +45022,47 @@ var Registry = class {
|
|
|
45020
45022
|
return this.#aliases.get(key) ?? key;
|
|
45021
45023
|
}
|
|
45022
45024
|
/** Resolve one extension by kind + name or alias. Unknown throws. Staged (uncommitted) registrations are
|
|
45023
|
-
* invisible here; only committed ones resolve.
|
|
45025
|
+
* invisible here; only committed ones resolve. A key whose declared provider has not loaded throws
|
|
45026
|
+
* too, naming that: {@link load} resolves it. */
|
|
45024
45027
|
resolve(kind, name) {
|
|
45025
45028
|
const ext = this.#byKey.get(this.#canonical(kind, name));
|
|
45026
|
-
if (!ext)
|
|
45029
|
+
if (!ext) {
|
|
45030
|
+
if (this.#providers.has(`${kind}:${name}`))
|
|
45031
|
+
throw new Error(`${kind} "${name}" is declared by a provider this process has not loaded`);
|
|
45027
45032
|
throw new Error(`no ${kind} registered for "${name}"`);
|
|
45033
|
+
}
|
|
45028
45034
|
return ext;
|
|
45029
45035
|
}
|
|
45036
|
+
/** Declare a provider: a module that registers `provides` when it is imported. Nothing is imported
|
|
45037
|
+
* here. A key that another provider already declares is refused, so a key has one provider. */
|
|
45038
|
+
provide(provider) {
|
|
45039
|
+
const keys = provider.provides.map((ref) => `${ref.kind}:${ref.name}`);
|
|
45040
|
+
for (const key of keys)
|
|
45041
|
+
if (this.#providers.has(key))
|
|
45042
|
+
throw new Error(`extension provider already declared: ${key}`);
|
|
45043
|
+
const entry = { provider };
|
|
45044
|
+
for (const key of keys)
|
|
45045
|
+
this.#providers.set(key, entry);
|
|
45046
|
+
}
|
|
45047
|
+
/** Whether a provider was declared for exactly this kind + name, loaded or not. A boolean probe
|
|
45048
|
+
* that never throws and imports nothing. */
|
|
45049
|
+
provides(kind, name) {
|
|
45050
|
+
return this.#providers.has(`${kind}:${name}`);
|
|
45051
|
+
}
|
|
45052
|
+
/** Resolve kind + name, first importing the provider declared for it unless that import has run.
|
|
45053
|
+
* Concurrent calls share one import. A key no provider declares resolves as {@link resolve} does.
|
|
45054
|
+
* A provider that loads without registering the key it declared throws: the declaration is wrong,
|
|
45055
|
+
* and no other extension stands in for it. */
|
|
45056
|
+
async load(kind, name) {
|
|
45057
|
+
const entry = this.#providers.get(`${kind}:${name}`);
|
|
45058
|
+
if (entry) {
|
|
45059
|
+
entry.loading ??= entry.provider.load();
|
|
45060
|
+
await entry.loading;
|
|
45061
|
+
if (!this.#byKey.has(this.#canonical(kind, name)))
|
|
45062
|
+
throw new Error(`the provider declared for ${kind} "${name}" loaded without registering it`);
|
|
45063
|
+
}
|
|
45064
|
+
return this.resolve(kind, name);
|
|
45065
|
+
}
|
|
45030
45066
|
all(kind) {
|
|
45031
45067
|
const values = [...this.#byKey.values()];
|
|
45032
45068
|
return kind === void 0 ? values : values.filter((e) => e.kind === kind);
|
|
@@ -63077,10 +63113,10 @@ function date4(params) {
|
|
|
63077
63113
|
config(en_default());
|
|
63078
63114
|
|
|
63079
63115
|
// ../connector-core/dist/docs-bundle.generated.js
|
|
63080
|
-
var DOCS_VERSION = "0.
|
|
63116
|
+
var DOCS_VERSION = "0.109.0";
|
|
63081
63117
|
function loadDocsBundle() {
|
|
63082
63118
|
return {
|
|
63083
|
-
"version": "0.
|
|
63119
|
+
"version": "0.109.0",
|
|
63084
63120
|
"generatedFrom": "docs/*.md + SPEC.md + spec/cotal-lang.md + spec/cotal.schema.json",
|
|
63085
63121
|
"pages": [
|
|
63086
63122
|
{
|