@alfe.ai/integrations 0.1.0 → 0.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.d.ts CHANGED
@@ -293,19 +293,16 @@ declare class McpApplier {
293
293
  * (the manager preserves `addedAt`). Returns the list of ids that
294
294
  * actually landed in the store.
295
295
  *
296
- * Awaits `manager.flush()` before returning so the openclaw.json
297
- * mirror write has fired by the time the caller proceeds. Without
298
- * this, an integration activation's success ack would race ahead of
299
- * the runtime's openclaw.json update — the cloud would see
300
- * `actual.status = active` while OpenClaw still has the stale MCP
301
- * set in memory, violating the actual-status protocol contract.
296
+ * Store writes are durable before each `manager.addServer` resolves,
297
+ * so the caller can ack the activation as soon as this returns —
298
+ * the daemon-hosted bundler will pick the change up via the store
299
+ * watcher and reconcile its children.
302
300
  */
303
301
  applyForIntegration(integrationId: string, servers: McpServerDeclaration[], mergedConfig: Record<string, unknown>): Promise<string[]>;
304
302
  /**
305
- * Drop every entry owned by this integration. Like `applyForIntegration`,
306
- * awaits the mirror flush so the runtime is signalled before the call
307
- * resolves the uninstall ack shouldn't outrun openclaw.json being
308
- * cleaned up.
303
+ * Drop every entry owned by this integration. Store writes are
304
+ * durable before `removeServersByOwner` resolves; the daemon's
305
+ * bundler reconciles via the store watcher.
309
306
  */
310
307
  removeForIntegration(integrationId: string): Promise<string[]>;
311
308
  private resolveEnv;
package/dist/index.js CHANGED
@@ -1901,12 +1901,10 @@ var McpApplier = class {
1901
1901
  * (the manager preserves `addedAt`). Returns the list of ids that
1902
1902
  * actually landed in the store.
1903
1903
  *
1904
- * Awaits `manager.flush()` before returning so the openclaw.json
1905
- * mirror write has fired by the time the caller proceeds. Without
1906
- * this, an integration activation's success ack would race ahead of
1907
- * the runtime's openclaw.json update — the cloud would see
1908
- * `actual.status = active` while OpenClaw still has the stale MCP
1909
- * set in memory, violating the actual-status protocol contract.
1904
+ * Store writes are durable before each `manager.addServer` resolves,
1905
+ * so the caller can ack the activation as soon as this returns —
1906
+ * the daemon-hosted bundler will pick the change up via the store
1907
+ * watcher and reconcile its children.
1910
1908
  */
1911
1909
  async applyForIntegration(integrationId, servers, mergedConfig) {
1912
1910
  const owner = `integration:${integrationId}`;
@@ -1928,20 +1926,16 @@ var McpApplier = class {
1928
1926
  });
1929
1927
  applied.push(id);
1930
1928
  }
1931
- await this.manager.flush();
1932
1929
  return applied;
1933
1930
  }
1934
1931
  /**
1935
- * Drop every entry owned by this integration. Like `applyForIntegration`,
1936
- * awaits the mirror flush so the runtime is signalled before the call
1937
- * resolves the uninstall ack shouldn't outrun openclaw.json being
1938
- * cleaned up.
1932
+ * Drop every entry owned by this integration. Store writes are
1933
+ * durable before `removeServersByOwner` resolves; the daemon's
1934
+ * bundler reconciles via the store watcher.
1939
1935
  */
1940
1936
  async removeForIntegration(integrationId) {
1941
1937
  const owner = `integration:${integrationId}`;
1942
- const removed = await this.manager.removeServersByOwner(owner);
1943
- await this.manager.flush();
1944
- return removed;
1938
+ return this.manager.removeServersByOwner(owner);
1945
1939
  }
1946
1940
  async resolveEnv(server, mergedConfig) {
1947
1941
  if (!server.env || Object.keys(server.env).length === 0) return {};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@alfe.ai/integrations",
3
- "version": "0.1.0",
3
+ "version": "0.1.1",
4
4
  "description": "Integration lifecycle management for Alfe — registry, resolution, installation, and state",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -14,7 +14,7 @@
14
14
  "dependencies": {
15
15
  "@auriclabs/logger": "^0.1.1",
16
16
  "@alfe.ai/integration-manifest": "^0.1.0",
17
- "@alfe.ai/mcp-bundler": "^0.1.0"
17
+ "@alfe.ai/mcp-bundler": "^0.1.1"
18
18
  },
19
19
  "files": [
20
20
  "dist"