@tangle-network/agent-knowledge 19.0.2 → 19.1.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.
@@ -0,0 +1,126 @@
1
+ # Play-scoped Hindsight memory
2
+
3
+ `@tangle-network/agent-knowledge/memory` provides `createHindsightMemoryAdapter`
4
+ for the pinned Hindsight **0.10.2** API and `createPlayMemoryTools` for an
5
+ explicitly commissioned play. The host supplies the authenticated transport;
6
+ this package does not discover servers, grant tools, start services, or import
7
+ Runtime. Hindsight is optional and adds no SDK dependency.
8
+
9
+ Use a stable logical play namespace and branch ID. A new execution attempt may
10
+ reuse that identity; an independent play or checkpoint fork gets a new identity.
11
+ Keep the Runtime attempt ID in the host's invocation provenance. Putting a
12
+ changing attempt ID into the memory scope deliberately selects another bank.
13
+
14
+ ```ts
15
+ import {
16
+ createAgentMemoryBranch,
17
+ createHindsightMemoryAdapter,
18
+ createPlayMemoryTools,
19
+ } from '@tangle-network/agent-knowledge/memory'
20
+
21
+ const branch = createAgentMemoryBranch({
22
+ adapter: createHindsightMemoryAdapter({
23
+ client: authenticatedClient,
24
+ backendRef: 'qualified-private-hindsight-deployment',
25
+ branchId: 'terraform-play-branch-1',
26
+ }),
27
+ branchId: 'terraform-play-branch-1',
28
+ baseScope: { namespace: 'terraform-play-1' },
29
+ policy: { read: ['shared'], write: 'shared' },
30
+ })
31
+
32
+ const tools = createPlayMemoryTools({
33
+ branch,
34
+ actorId: trustedRuntimeNodeId,
35
+ onCheckpoint: saveAcceptedCheckpoint,
36
+ recordRetrieval: saveRetrievalReceipt,
37
+ namePrefix: 'agent_runtime_coordination_',
38
+ })
39
+ ```
40
+
41
+ The tools are ordinary Agent Interface `ToolDefinition` values with Zod
42
+ `inputSchema` and JSON `inputSchemaJson`. A Runtime resolver converts that shape
43
+ and grants the exact profile names `agent_runtime_coordination_memory_recall`
44
+ and `agent_runtime_coordination_memory_record`. The resolver validates the
45
+ commissioned execution identity before exposing them. Actor attribution is
46
+ write metadata and retrieval receipt metadata; it does not partition shared
47
+ memory. Every collaborator in one process uses the same branch instance.
48
+
49
+ The injected client has one method:
50
+
51
+ ```ts
52
+ request({ method, path, body, signal }): Promise<{ status, body }>
53
+ ```
54
+
55
+ It owns endpoint selection, credentials, network access, and response decoding.
56
+ The adapter selects only `/version` and its bound bank's document, operation,
57
+ retain, and recall paths. It derives a full SHA-256 bank ID from deployment
58
+ identity, branch ID, and the entire physical scope supplied by the existing
59
+ branch policy. Tags alone are not an isolation boundary. A raw transport that
60
+ can access every bank is still a host capability; do not expose it to agents.
61
+ Host loopback access does not establish access from a cloud Sandbox.
62
+
63
+ ## Writes and recovery
64
+
65
+ `memory_record` requires a stable caller ID, kind, text, and optional title and
66
+ source references. It refuses caller-supplied scopes, banks, and metadata.
67
+ The host must retain the original tool input before dispatch so an interrupted
68
+ call can be retried with the same ID, bytes, and actor. The tool requires an
69
+ `onCheckpoint` callback and acknowledges accepted writes only after it returns.
70
+ Persist snapshots through the application's existing record owner and durable
71
+ filesystem helpers; an in-memory callback is not durable persistence.
72
+
73
+ The adapter submits bounded asynchronous retains with deterministic native
74
+ operation IDs and waits for explicit completion. It checks the retained
75
+ document's ID, exact source text, and provenance digest before acceptance.
76
+ Native completion means ingestion completed, not that a claim was validated.
77
+ Retrying a completed tool input uses the journal and does not submit another
78
+ retain. Conflicting bytes under one ID are refused.
79
+
80
+ An ambiguous response, timeout, failure, cancellation, or expired operation
81
+ history remains unknown. A source document by itself does not prove successful
82
+ ingestion. An unresolved operation blocks checkpointing; retry the same write
83
+ to reconcile it. In-process tool publication serializes collaborators and
84
+ requires reconciliation before another write. Do not silently generate a new
85
+ ID after an ambiguous response. Provider work may continue after the client
86
+ stops waiting, but it remains confined to that branch's bank.
87
+
88
+ To resume, deserialize the saved snapshot and construct a fresh adapter with
89
+ the same deployment and branch identities. Pass the snapshot to
90
+ `createAgentMemoryBranch`; preserve its scope and policy instead of recreating
91
+ equivalent-looking values. Rebinding is continuation against retained provider
92
+ state, not rollback to a historical provider database image. Calls interrupted
93
+ before journal publication must be reconciled from the host's saved tool input.
94
+
95
+ To fork, call `forkAgentMemoryBranchSnapshot` with the saved snapshot, a fresh
96
+ adapter bound to a new branch ID, and a new play namespace. The existing branch
97
+ owner replays accepted source inputs into the child's bank. Parent writes after
98
+ the checkpoint are excluded. Extracted facts can differ because replay performs
99
+ new model-backed ingestion; this is not a transactional Hindsight bank clone.
100
+ An interrupted fork can leave a partial isolated bank. This adapter offers no
101
+ clear/cancel guarantee; failed fork cleanup is explicit and the host must
102
+ quarantine its ID rather than publish a successful checkpoint.
103
+
104
+ One trusted branch owner per play is required. Separate processes or independent
105
+ director controllers need an application-owned serialized publication path.
106
+ Whole-snapshot last-writer-wins persistence can lose another director's journal.
107
+ This module does not implement a cross-process journal merger or scheduler.
108
+
109
+ ## Evidence and cost
110
+
111
+ Recall returns provider facts, original document metadata, source-fact IDs where
112
+ the provider supplies them, and an explicit attribution status. The receipt
113
+ hash covers the actual delivered context and actor. Optional undefined object
114
+ fields are omitted exactly as in JSON serialization. A receipt proves delivery,
115
+ not that an agent used or verified the information. Register and validate source
116
+ evidence through the normal Knowledge intake before promoting findings.
117
+
118
+ Defaults bound source text to 8,000 characters, each request to 15 seconds,
119
+ ingestion polling to 120 seconds, and recall to the provider's low budget with
120
+ 1,000 output tokens. Native model cost is currently unmeasured and is never
121
+ reported as zero. There is no measured corpus-scale latency guarantee. Journal
122
+ snapshots and forks scale with accepted source inputs; neither is O(1).
123
+
124
+ For immutable source-document search and reads, use the separate
125
+ [QMD provider](qmd-retrieval.md). A source manifest and a memory branch are
126
+ different evidence views that the host can commission under the same play.
@@ -0,0 +1,60 @@
1
+ # QMD source snapshots
2
+
3
+ `createQmdSearchProvider` binds QMD's public SDK to one caller-authorized source snapshot.
4
+ The host owns the index, collection, source registry, scope identity, and revision.
5
+ Neither query text nor tool input can select another collection or source path.
6
+ No QMD dependency or model is loaded by Knowledge; inject an installed SDK store.
7
+
8
+ ```ts
9
+ import { createStore } from '@tobilu/qmd'
10
+ import { createQmdSearchProvider, createQmdKnowledgeTools } from '@tangle-network/agent-knowledge'
11
+
12
+ const client = await createStore({ dbPath: '/private/play-a/checkpoint-1/index.sqlite' })
13
+ const provider = createQmdSearchProvider({
14
+ client,
15
+ collection: 'play-a',
16
+ scopeId: 'play-a',
17
+ revision: 'checkpoint-1',
18
+ documents: approvedSources, // [{qmdPath, source: SourceRecord}]
19
+ // indexedAt: the index owner's recorded successful update time, if known
20
+ })
21
+ await provider.verifySnapshot() // admit only after every declared source is readable and exact
22
+ const result = await provider.search('What was independently checked?')
23
+ const tools = createQmdKnowledgeTools({ provider, namePrefix: 'agent_runtime_coordination_' })
24
+ // The host mounts only tools explicitly granted by the exact AgentProfile.
25
+ // Close the injected client after every consumer has finished.
26
+ ```
27
+
28
+ Each source requires its original URI and the SHA-256 of the exact indexed UTF-8
29
+ text. Search results are joined to the approved manifest; full returned bytes are
30
+ checked against the source hash before delivery. Missing documents, foreign
31
+ results, and stale content fail explicitly. Do not replace a failed query with an
32
+ empty successful result. The response includes the scope, revision, content-bound
33
+ snapshot digest, authorized document count, and index timestamp (null if unknown).
34
+ That count is the allowed corpus size, not a measurement of index completeness.
35
+ `verifySnapshot()` checks every admitted document before an execution starts and
36
+ returns a timestamped count. It does not test search recall or freeze an external
37
+ index; reads continue to verify the returned source bytes after admission.
38
+ A search miss does not establish that an attempt never happened.
39
+
40
+ Use a dedicated collection containing only the approved snapshot, and prefer a
41
+ dedicated SQLite index for independent plays. A collection filter alone is not
42
+ authorization. The host must also limit access to the injected client, storage,
43
+ and server credentials; these factories cannot restrict a caller that separately
44
+ holds a global QMD client. Restrict raw file and MCP access through the same host.
45
+
46
+ Resume reopens the same source manifest and index. A fork uses a fixed copy of the
47
+ parent's approved source manifest and immutable source bytes, with a new scope and
48
+ index. Subsequent writes publish a new source revision and update its derived
49
+ index before mounting that revision. Retain prior revisions and their hashes;
50
+ do not relabel a live parent collection as a frozen fork.
51
+
52
+ Lexical search invokes no model. Vector search requires `mode: 'vector'` and an
53
+ injected client with `searchVector`, using the host's explicitly configured
54
+ embedding model. This adapter does not expand queries, rerank, embed documents,
55
+ or synthesize answers. QMD SDK 2.8.3 supplies the supported public methods.
56
+
57
+ The `qmd_search` and `qmd_read` tools call the same provider as a human reader.
58
+ Search returns bounded opening excerpts and exact source references; read returns
59
+ line-numbered source slices. Runtime's existing tool-call trace records execution;
60
+ retrieval alone does not prove a finding changed an agent's decision.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tangle-network/agent-knowledge",
3
- "version": "19.0.2",
3
+ "version": "19.1.0",
4
4
  "description": "Build, search, evaluate, and improve source-backed knowledge bases.",
5
5
  "homepage": "https://github.com/tangle-network/agent-knowledge#readme",
6
6
  "repository": {
@@ -1 +0,0 @@
1
- {"version":3,"file":"index-eDsIXWyM.d.ts","names":["JsonValue","JsonValue","JsonValue"],"sources":["../src/optimization.ts","../src/memory/adapter.ts","../src/memory/branch.ts","../src/memory/experiment/types.ts","../src/memory/experiment/cases.ts","../src/memory/experiment/learning.ts","../src/memory/experiment/run.ts","../src/memory/graphiti.ts","../src/memory/holdout.ts","../src/memory/improvement/types.ts","../src/memory/improvement/run.ts","../src/memory/lifecycle.ts","../src/memory/mem0.ts","../src/memory/neo4j.ts","../src/memory/schemas.ts","../src/memory/source-record.ts"],"mappings":"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EACA;EACA;EACA;EACA;EACA;EACA,qBAAqB;EACrB,sBAAsB;EACtB;EACA;EACA;;UAGe;EACf;EACA;EACA;;EAEA,MAAM;;UAGS;EACf;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA,qBAAqB;EACrB,sBAAsB;EACtB;EACA;EACA;;EAEA;EACA;EACA;EACA;;EAEA;;EAEA;;UAGe;EACf,eAAe;EACf;IACE,UAAU;IACV,qBAAqB;IACrB,sBAAsB;IACtB;IACA;IACA,wBAAwB;IACxB;;EAEF,gBAAgB;EAChB;IACE;;IAEA;;IAEA;;IAEA;;IAEA,YAAY;;;;;;EAMd,MAAM;EACN,0BAA0B;;EAE1B;IACE;IACA,gBAAgB;IAChB,iBAAiB;;EAEnB;;IAEE;IACA,iBAAiB;IACjB;IACA;IACA;IACA;;IAEA,QAAQ;;;UAIK;EACf,UAAU;EACV,WAAW;;UAGI;EACf;;EAEA;;EAEA,aAAa;EACb,oBAAoB;EACpB,qBAAqB;;EAErB,8BAA8B;EAC9B;EACA,eAAe;IACb,QAAQ;IACR;IACA,MAAM;IACN,SAAS;QACL;;EAEN;EACA,oBAAoB;IAClB;IACA;IACA;IACA,UAAU;QACN;EACN;EACA,UAAU;EACV;EACA;EACA;EACA;EACA;;EAEA,aAAa;EACb;EACA;EACA;;EAEA;;EAEA;;EAEA;EACA,YAAY;;EAEZ,iBAAiB;;EAEjB,kBAAkB;;EAElB,SAAS;;KAGC,gCAAgC;UAE3B;EACf;EACA;EACA;EACA;EACA;EACA,aAAa;EACb;EACA;EACA;EACA;EACA;EACA;EACA;;UAGe;EACf,YAAY;EACZ,eAAe;EACf,wBAAwB;;EAExB;EACA,UAAU,eAAe,6BAA6B;EACtD,eAAe;EACf;;EAEA;EACA;EACA;EACA;EACA;EACA;;KAGU,0CAA0C,KACpD;;EAIA,WAAW;;UAGI;EACf,UAAU;EACV,UAAU;EACV,WAAW;EACX,YAAY;EACZ,aAAa;EACb;EACA;;IAEE;;IAEA;IACA;IACA;;;;;iBCxbY,4CACd,gBAAgB,gCAChB,UAAS,qDACR;iBAwEa,kCACd,oBAAoB,uBA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"}