@ai-matrx/alchemy 0.3.6 → 0.4.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/CHANGELOG.md CHANGED
@@ -1,5 +1,13 @@
1
1
  # Changelog
2
2
 
3
+ ## 0.4.0 — 2026-09-25
4
+
5
+ Alchemy now sits below `@ai-matrx/agents` (ALC-12). The `/matrx` and `/matrx/react` entries, which only re-exported `@ai-matrx/agents/content-transfer[/react]`, are removed, and `@ai-matrx/agents` is no longer a dependency.
6
+
7
+ ### Consumer action
8
+
9
+ Import `MatrxContentTransferProvider` and the other Matrx adapter symbols from `@ai-matrx/agents/content-transfer/react` and `@ai-matrx/agents/content-transfer` instead of `@ai-matrx/alchemy/matrx/react` and `@ai-matrx/alchemy/matrx`. The `.`, `/core`, `/react`, CSS and SVG entries are unchanged.
10
+
3
11
  ## 0.3.6
4
12
 
5
13
  Automatic changed-only republish (docs/metadata drift since the last tag — see
package/README.md CHANGED
@@ -1,6 +1,6 @@
1
1
  # @ai-matrx/alchemy
2
2
 
3
- Alchemy is Matrx’s content-to-AI toolkit. **Alchemy Menu** is its small, reusable copy, preparation and export control. This distribution ships the shared core, React controls, Matrx service adapter, CSS and SVG; it contains no parallel implementation.
3
+ Alchemy is Matrx’s content-to-AI toolkit. **Alchemy Menu** is its small, reusable copy, preparation and export control. This distribution ships the shared core, React controls, CSS and SVG; it contains no parallel implementation. It sits below `@ai-matrx/agents` and never depends on it.
4
4
 
5
5
  ## One menu, ready to use
6
6
 
@@ -65,9 +65,7 @@ A provider `email` port enables CSV, JSON and Markdown email actions. The packag
65
65
 
66
66
  ## Integrate Matrx services once
67
67
 
68
- `MatrxContentTransferProvider` from `@ai-matrx/alchemy/matrx/react` accepts the canonical transport, authenticated database read port, current organization getter and source application. It supplies the declared durable AI preparation job to descendant menus. The host supplies identity and its existing live-run renderer; the package owns preparation, cancellation, exact request recovery and provenance. Mount the provider at an identity boundary so changing user or organization cannot reuse another identity’s prepared run.
69
-
70
- The `/matrx` entry also ships `createMatrxTransferPorts(bindings)` and `createMatrxTransferActions(ports)`. Bind existing Notes, Documents, Workbooks, task, attachment, Code and chat openers once. Register the returned actions through the provider's `capabilities.actions`. Menus inherit Save to Matrx and Continue with AI groups; no page callback or styling is necessary. `createMatrxTransferActions` also accepts a partial port set for hosts that expose fewer destinations. The package owns serialization, capture identity checks, saved-item receipts and retry deduplication.
68
+ The Matrx service adapter lives in `@ai-matrx/agents`, which sits above Alchemy. Import `MatrxContentTransferProvider` from `@ai-matrx/agents/content-transfer/react`, and `createMatrxTransferPorts(bindings)` / `createMatrxTransferActions(ports)` from `@ai-matrx/agents/content-transfer`. The provider accepts the canonical transport, authenticated database read port, current organization getter and source application, and supplies the declared durable AI preparation job to descendant Alchemy menus. Mount it at an identity boundary so changing user or organization cannot reuse another identity’s prepared run. Bind existing Notes, Documents, Workbooks, task, attachment, Code and chat openers once and register the returned actions through the provider's `capabilities.actions`; menus inherit Save to Matrx and Continue with AI groups.
71
69
 
72
70
  Openers report that an editor was opened, not that the item was saved. Save-and-attach preserves the created note if the destination picker fails. New-chat/window handoffs attach captured content as a text resource, leave the human composer empty and never auto-run. Connected tools are selected through the existing assistant Chat Options picker; this is not an automatic MCP invocation.
73
71
 
@@ -89,9 +87,7 @@ const artifact = serialize(createDraft(snapshot), "plain");
89
87
  |---|---|
90
88
  | `/core` (also package root) | Capture, projection, preparation, serializers, artifacts and transport. |
91
89
  | `/react` | `AlchemyMenu`, lower-level `ContentTransferMenu`, surface/provider bindings and React glyph. |
92
- | `/matrx` | Durable AI preparation and the standard Matrx destination catalog/workflow. |
93
- | `/matrx/react` | React bindings for that adapter. |
94
90
  | `/styles.css` | Self-contained menu and workspace styling. |
95
91
  | `/alchemy.svg`, `/portal.svg`, `/copy-transform.svg` | Packaged icon assets; Portal is default. |
96
92
 
97
- The registry installation canary requires the sibling kit, design-system and agents releases first. Stylesheets import the canonical design-system styling; SVG assets are copied from their one source at build time.
93
+ The registry installation canary requires the sibling kit and design-system releases first, and fails if installing Alchemy pulls in `@ai-matrx/agents`. Stylesheets import the canonical design-system styling; SVG assets are copied from their one source at build time.
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@ai-matrx/alchemy",
3
- "version": "0.3.6",
4
- "description": "Matrx Alchemy: the complete Matrx copy, prepare-for-AI, and export experience, with framework-neutral core, React menu, glyph, styles and Matrx integration.",
3
+ "version": "0.4.0",
4
+ "description": "Matrx Alchemy: the complete Matrx copy, prepare-for-AI, and export experience, with framework-neutral core, React menu, glyph and styles.",
5
5
  "type": "module",
6
6
  "main": "./dist/index.cjs",
7
7
  "module": "./dist/index.js",
@@ -68,26 +68,6 @@
68
68
  "default": "./dist/react.cjs"
69
69
  }
70
70
  },
71
- "./matrx": {
72
- "import": {
73
- "types": "./dist/matrx.d.ts",
74
- "default": "./dist/matrx.js"
75
- },
76
- "require": {
77
- "types": "./dist/matrx.d.cts",
78
- "default": "./dist/matrx.cjs"
79
- }
80
- },
81
- "./matrx/react": {
82
- "import": {
83
- "types": "./dist/matrx-react.d.ts",
84
- "default": "./dist/matrx-react.js"
85
- },
86
- "require": {
87
- "types": "./dist/matrx-react.d.cts",
88
- "default": "./dist/matrx-react.cjs"
89
- }
90
- },
91
71
  "./styles.css": "./dist/styles.css",
92
72
  "./tap-target.css": "./dist/tap-target.css",
93
73
  "./alchemy.svg": "./dist/alchemy.svg",
@@ -133,13 +113,12 @@
133
113
  ],
134
114
  "dependencies": {
135
115
  "@ai-matrx/design-system": "latest",
136
- "@ai-matrx/kit": "latest",
137
- "@ai-matrx/agents": "latest"
116
+ "@ai-matrx/kit": "latest"
138
117
  },
139
118
  "scripts": {
140
119
  "build": "pnpm clean && tsup && node ./scripts/copy-assets.mjs && node ./scripts/assert-distribution-artifacts.mjs",
141
120
  "clean": "node -e \"require('node:fs').rmSync('dist',{recursive:true,force:true})\"",
142
- "check:package": "pnpm build && node ../scripts/check-exports-agreement.mjs && publint && pnpm verify:tarball",
121
+ "check:package": "pnpm build && node ../scripts/check-exports-agreement.mjs && node ../scripts/check-alchemy-below-agents.mjs && publint && pnpm verify:tarball",
143
122
  "typecheck": "tsc -p tsconfig.json --noEmit",
144
123
  "test": "vitest run",
145
124
  "verify:tarball": "node ./scripts/verify-tarball.mjs"
@@ -1,23 +0,0 @@
1
- "use client";
2
- "use strict";
3
- "use client";
4
- var __defProp = Object.defineProperty;
5
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
6
- var __getOwnPropNames = Object.getOwnPropertyNames;
7
- var __hasOwnProp = Object.prototype.hasOwnProperty;
8
- var __copyProps = (to, from, except, desc) => {
9
- if (from && typeof from === "object" || typeof from === "function") {
10
- for (let key of __getOwnPropNames(from))
11
- if (!__hasOwnProp.call(to, key) && key !== except)
12
- __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
13
- }
14
- return to;
15
- };
16
- var __reExport = (target, mod, secondTarget) => (__copyProps(target, mod, "default"), secondTarget && __copyProps(secondTarget, mod, "default"));
17
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
18
-
19
- // src/matrx-react.ts
20
- var matrx_react_exports = {};
21
- module.exports = __toCommonJS(matrx_react_exports);
22
- __reExport(matrx_react_exports, require("@ai-matrx/agents/content-transfer/react"), module.exports);
23
- //# sourceMappingURL=matrx-react.cjs.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/matrx-react.ts"],"sourcesContent":["\"use client\";\n\nexport * from \"@ai-matrx/agents/content-transfer/react\";\n"],"mappings":";;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAEA,gCAAc,oDAFd;","names":[]}
@@ -1 +0,0 @@
1
- export * from '@ai-matrx/agents/content-transfer/react';
@@ -1 +0,0 @@
1
- export * from '@ai-matrx/agents/content-transfer/react';
@@ -1,6 +0,0 @@
1
- "use client";
2
- "use client";
3
-
4
- // src/matrx-react.ts
5
- export * from "@ai-matrx/agents/content-transfer/react";
6
- //# sourceMappingURL=matrx-react.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/matrx-react.ts"],"sourcesContent":["\"use client\";\n\nexport * from \"@ai-matrx/agents/content-transfer/react\";\n"],"mappings":";;;;AAEA,cAAc;","names":[]}
package/dist/matrx.cjs DELETED
@@ -1,21 +0,0 @@
1
- "use strict";
2
- var __defProp = Object.defineProperty;
3
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
- var __getOwnPropNames = Object.getOwnPropertyNames;
5
- var __hasOwnProp = Object.prototype.hasOwnProperty;
6
- var __copyProps = (to, from, except, desc) => {
7
- if (from && typeof from === "object" || typeof from === "function") {
8
- for (let key of __getOwnPropNames(from))
9
- if (!__hasOwnProp.call(to, key) && key !== except)
10
- __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
11
- }
12
- return to;
13
- };
14
- var __reExport = (target, mod, secondTarget) => (__copyProps(target, mod, "default"), secondTarget && __copyProps(secondTarget, mod, "default"));
15
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
16
-
17
- // src/matrx.ts
18
- var matrx_exports = {};
19
- module.exports = __toCommonJS(matrx_exports);
20
- __reExport(matrx_exports, require("@ai-matrx/agents/content-transfer"), module.exports);
21
- //# sourceMappingURL=matrx.cjs.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/matrx.ts"],"sourcesContent":["export * from \"@ai-matrx/agents/content-transfer\";\n"],"mappings":";;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA,0BAAc,8CAAd;","names":[]}
package/dist/matrx.d.cts DELETED
@@ -1 +0,0 @@
1
- export * from '@ai-matrx/agents/content-transfer';
package/dist/matrx.d.ts DELETED
@@ -1 +0,0 @@
1
- export * from '@ai-matrx/agents/content-transfer';
package/dist/matrx.js DELETED
@@ -1,3 +0,0 @@
1
- // src/matrx.ts
2
- export * from "@ai-matrx/agents/content-transfer";
3
- //# sourceMappingURL=matrx.js.map
package/dist/matrx.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/matrx.ts"],"sourcesContent":["export * from \"@ai-matrx/agents/content-transfer\";\n"],"mappings":";AAAA,cAAc;","names":[]}