@tpsdev-ai/n8n-nodes-flair 0.56.0 → 0.57.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/README.md CHANGED
@@ -7,8 +7,8 @@ n8n community node — use [Flair](https://github.com/tpsdev-ai/flair) as your A
7
7
  - **Flair Chat Memory** — n8n AI Agent Memory port. Stores chat history in Flair, replayable across runs and readable from Claude Code, OpenClaw, and any other Flair client. LangChain `BufferWindowMemory` under the hood.
8
8
  - **Flair Search** — n8n AI Agent Tool port. Two operations:
9
9
  - *Semantic Search* — finds memories ranked by similarity to a natural-language query.
10
- - *Get By Subject* — lists memories filtered by subject, ordered by recency.
11
- - *Get By Tag* — coming in a follow-up once `flair-client.memory.list` exposes a `tags` filter.
10
+ - *Get By Subject* — lists memories filtered by subject.
11
+ - *Get By Tag* — not yet an operation in the `FlairSearch` node. The `memory.list` client supports the `tags` filter.
12
12
 
13
13
  ## Installation
14
14
 
@@ -52,7 +52,7 @@ class FlairChatMemory {
52
52
  name: "sessionKey",
53
53
  type: "string",
54
54
  default: "",
55
- description: "Optional sub-scope appended to the subject as `<subject>:<sessionKey>`. Use the n8n execution id (`={{ $execution.id }}`) for per-run isolation, or leave blank to share memory across runs.",
55
+ description: "Optional sub-scope appended to the subject as `<subject>:<sessionKey>`. Use the n8n execution id (`={{ $execution.id }}`) for per-run chat-history grouping by subject, or leave blank to share memory across runs.",
56
56
  },
57
57
  {
58
58
  displayName: "Context Window Length",
@@ -14,7 +14,7 @@ import type { FlairClient } from "@tpsdev-ai/flair-client";
14
14
  * `getMessages()` reads memories filtered by subject and reconstructs the
15
15
  * BaseMessage[] in createdAt-ascending order. Order is computed client-side
16
16
  * from the createdAt timestamp because Memory.list does not yet expose a
17
- * server-side sort param (tracked as the `order` extension in q3qf §6).
17
+ * server-side sort param.
18
18
  *
19
19
  * The `windowK` constructor argument bounds the number of memories fetched
20
20
  * per `getMessages()` call: each turn is two messages (user + AI), so we
@@ -16,7 +16,7 @@ const messages_1 = require("@langchain/core/messages");
16
16
  * `getMessages()` reads memories filtered by subject and reconstructs the
17
17
  * BaseMessage[] in createdAt-ascending order. Order is computed client-side
18
18
  * from the createdAt timestamp because Memory.list does not yet expose a
19
- * server-side sort param (tracked as the `order` extension in q3qf §6).
19
+ * server-side sort param.
20
20
  *
21
21
  * The `windowK` constructor argument bounds the number of memories fetched
22
22
  * per `getMessages()` call: each turn is two messages (user + AI), so we
@@ -119,7 +119,7 @@ class FlairSearch {
119
119
  description: "Maximum number of memories to return",
120
120
  },
121
121
  {
122
- displayName: "Get By Tag is not yet available — flair-client.memory.list does not yet expose a tag filter (tracked in q3qf spec §6). Workaround: use Semantic Search and let the model filter results by tags in the response.",
122
+ displayName: "Get By Tag is not yet available in this node; `flair-client.memory.list` supports a `tags` filter for SDK callers.",
123
123
  name: "tagNotice",
124
124
  type: "notice",
125
125
  default: "",
@@ -152,7 +152,7 @@ class FlairSearch {
152
152
  const subject = this.getNodeParameter("subject", itemIndex);
153
153
  const tool = new tools_1.DynamicStructuredTool({
154
154
  name: "flair_get_by_subject",
155
- description: `Get memories about subject "${subject}" from Flair, ordered by recency.`,
155
+ description: `Get memories about subject "${subject}" from Flair.`,
156
156
  schema: zod_1.z.object({}),
157
157
  func: async () => {
158
158
  const results = await runGetBySubject(flair, subject, limit);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tpsdev-ai/n8n-nodes-flair",
3
- "version": "0.56.0",
3
+ "version": "0.57.0",
4
4
  "description": "n8n community node — use Flair as your AI Agent's memory backend. Includes FlairChatMemory (Memory port) and FlairSearch (Tool port).",
5
5
  "type": "commonjs",
6
6
  "main": "dist/index.js",
@@ -48,7 +48,7 @@
48
48
  "langchain"
49
49
  ],
50
50
  "dependencies": {
51
- "@tpsdev-ai/flair-client": "0.56.0",
51
+ "@tpsdev-ai/flair-client": "0.57.0",
52
52
  "zod": "3.25.76"
53
53
  },
54
54
  "peerDependencies": {