@ai-matrx/agents 0.17.4 → 0.18.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/CHANGELOG.md CHANGED
@@ -1,5 +1,58 @@
1
1
  # Changelog
2
2
 
3
+ ## 0.18.1
4
+
5
+ Automatic changed-only republish (docs/metadata drift since the last tag — see
6
+ `git diff npm/matrx-agents/v0.17.5..npm/matrx-agents/v0.18.1 -- apps/shared/matrx-agents`).
7
+ No source changes intended and no consumer action required.
8
+
9
+ ## 0.18.0
10
+
11
+ ### Added
12
+
13
+ - `./sources/runtime` — the Source input's UI-free core (common-docs
14
+ `projects/unified-source-input/DESIGN.md` § "One core, many screens", item
15
+ USI-7), moved out of the web app: source-list reducers + selectors
16
+ (drafts, per-Source status, delivery / forms / parts / caps, host config:
17
+ allowed deliveries and max), `createSourceSetController` over an injected
18
+ store, draft storage, client and config; `createSourceIntake` (paste, web
19
+ page, YouTube, recording, upload, existing) with every door, the
20
+ organization gate and the wording injected; recovery (`resumeInterrupted`,
21
+ `continueAfterOrganization`, `lookAtFileCards`); THE review planner
22
+ `planSourceReview` (estimator injectable, default the measured 2.9
23
+ chars/token); `createSourcesClient` for `/sources/manifest`, `/sources/resolve`
24
+ and `/sources/parts/search` (always sent as organization-free reads) plus
25
+ `createFetchSourcesTransport` for clients without an API layer; the pure
26
+ rules `delivery`, `partsSearch`, `interrupted`, `fileSource`.
27
+ - `./sources/react` — `useSourceSet(adapter)`, `useSourceIntake`,
28
+ `useSourceRecovery`, `useSourcePartsSearch`.
29
+
30
+ ### Consumer action
31
+
32
+ - matrx-frontend: bind the adapter to Redux `instanceResources` + `wizardDraft`
33
+ in `features/resource-manager/source-input/useSourceSet.ts`, bind the intake
34
+ doors (sourcesApi, scraper, YouTube reader, transcription, associations
35
+ service, organization gate) in `useSourceIntake.ts`, the file-state read in
36
+ `useSourceRecovery.ts`, and the typed `apiPost` transport in
37
+ `sourceSetApi.ts`; delete the local `delivery.ts`, `partsSearch.ts`,
38
+ `interrupted.ts`, `fileSource.ts`, `useSourcePartsText.ts` and
39
+ `review/plan.ts`, importing them from `@ai-matrx/agents/sources/runtime`.
40
+ Other consumers: none — additive.
41
+
42
+ ## 0.17.5
43
+ ### Unreleased
44
+
45
+ ### Added
46
+
47
+ - `./sources` contract amendment A5 (common-docs
48
+ `projects/unified-source-input/DESIGN.md` § Contract amendments):
49
+ `SourceManifestSegment` gains optional `preview` (a part's opening words,
50
+ never its body); a part spanning several pages is labelled "Pages 22–24".
51
+
52
+ ### Consumer action
53
+
54
+ - None — additive. Show `preview` under a part and match searches against it.
55
+
3
56
  ## 0.17.4
4
57
  ### Unreleased
5
58
 
package/README.md CHANGED
@@ -208,6 +208,41 @@ is hidden, never dead).
208
208
  `agx_get_list_full`, `agx_search`, `agx_resolve_agent_address` and
209
209
  `ues_get_bulk` (the star read).
210
210
 
211
+ ## The one Source input (`./sources`, `./sources/runtime`, `./sources/react`)
212
+
213
+ `./sources` is the wire contract (`SourceRef`, `SourceSet`, `SourceManifest`,
214
+ `ResolvedSourceSet`). `./sources/runtime` is the UI-free core every screen of
215
+ the Source input sits on — pure TypeScript, with every outside dependency
216
+ injected:
217
+
218
+ ```ts
219
+ import {
220
+ createSourceSetController,
221
+ createSourceIntake,
222
+ createSourcesClient,
223
+ createFetchSourcesTransport,
224
+ createMemorySourceSetStore,
225
+ planSourceReview,
226
+ } from "@ai-matrx/agents/sources/runtime";
227
+
228
+ const client = createSourcesClient(
229
+ createFetchSourcesTransport({ baseUrl, headers: async () => ({ Authorization: `Bearer ${token}` }) }),
230
+ );
231
+ const set = createSourceSetController({
232
+ store: createMemorySourceSetStore(), // or your own store adapter
233
+ client,
234
+ config: { defaultForm: "clean", deliveries: ["direct"], max: 5 },
235
+ });
236
+ const intake = createSourceIntake(set, { doors, ensureOrganization, /* … */ });
237
+ await intake.addPastedText(text, "Chapter 8 notes");
238
+ await set.manifest(); // sizes, forms, parts on each card
239
+ const plan = planSourceReview({ manifest, refs, base: set.toSourceSet(), modelWindowTokens, fallbackWindowTokens });
240
+ const grounded = await set.resolve();
241
+ ```
242
+
243
+ `./sources/react` binds it: `useSourceSet(adapter)`, `useSourceIntake(set, deps)`,
244
+ `useSourceRecovery(set, intake, runner, options)`, `useSourcePartsSearch(client, ref, query)`.
245
+
211
246
  ## Runtime support
212
247
 
213
248
  The package targets modern browsers, browser-based desktop shells,
@@ -215,7 +250,7 @@ extensions, Next.js client or server modules, and Node 20+. Its one runtime
215
250
  dependencies are `@ai-matrx/data` (the shared net-resilience + credentials
216
251
  layer), `@ai-matrx/design-system` (the picker's primitives) and
217
252
  `@ai-matrx/associations` (the per-user star chokepoint); `react >= 18`
218
- is an optional peer needed only by `./react` and `./catalog/react`. No entry
253
+ is an optional peer needed only by `./react`, `./sources/react` and `./catalog/react`. No entry
219
254
  point performs work at import time.
220
255
 
221
256
  ## Development