Skip to content

Commit b19e737

Browse files
added RagNode for AI memory ehancement, GetDataNode enhancement, bug fixes, docs updates
- added RagNode with Weaviate integration, bug fixes - GetDataNode enhancement to accept input data from upstream nodes, bug fixes - docs and readme updates
1 parent 4e77f42 commit b19e737

49 files changed

Lines changed: 1754 additions & 182 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

README.md

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,14 @@
5151

5252
- [Data Source](https://agentic-signal.com/docs/nodes/input/data-source)
5353
- [AI Data Processing](https://agentic-signal.com/docs/nodes/ai/llm-process)
54-
- [AI Tool](https://agentic-signal.com/docs/nodes/ai/ai-tool)
54+
- [AI Tool](https://agentic-signal.com/docs/nodes/ai/ai-tool):
55+
- Weather
56+
- Search
57+
- Google services
58+
- CSV/data operations
59+
- Stock analysis
60+
- Date/time tools
61+
- [RAG](https://agentic-signal.com/docs/nodes/ai/rag)
5562
- [HTTP Data](https://agentic-signal.com/docs/nodes/input/http-data)
5663
- [JSON Reformatter](https://agentic-signal.com/docs/nodes/data/json-reformatter)
5764
- [Stock Analysis](https://agentic-signal.com/docs/nodes/data/stock-analysis)
@@ -63,6 +70,7 @@
6370
- [Reddit Post](https://agentic-signal.com/docs/nodes/output/reddit-post) *(PRO)*
6471
- [Slack Input](https://agentic-signal.com/docs/nodes/input/slack-input) *(PRO)*
6572
- [Slack Output](https://agentic-signal.com/docs/nodes/output/slack-output) *(PRO)*
73+
- _other integrations coming soon_
6674

6775
> See the full [Nodes Reference](https://agentic-signal.com/docs/nodes/overview) for details on all node types.
6876
@@ -113,7 +121,7 @@ See [LICENSE.md](LICENSE.md) for full details.
113121
- **Reddit**: [r/AgenticSignal](https://www.reddit.com/r/AgenticSignal/)
114122
- **Issues**: [GitHub Issues](https://github.com/code-forge-temple/agentic-signal/issues)
115123
- **Discussions**: [GitHub Discussions](https://github.com/code-forge-temple/agentic-signal/discussions)
116-
- **Commercial Support**: please contact me on my Github email
124+
- **Commercial Support**: please contact me on my GitHub email
117125

118126
---
119127

client/src/components/BaseDialog/BaseDialog.tsx

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ import {PaperComponent} from "../PaperComponent";
1111
import {ReactNode, useEffect, useState} from "react";
1212

1313
const BASE_Z = 1000;
14-
const FOCUSED_Z = 1001;
14+
const FOCUSED_Z = 1009;
1515
const dialogSetters = new Set<(z: number) => void>();
1616

1717
export interface BaseDialogProps {
@@ -80,6 +80,7 @@ export function BaseDialog ({
8080
fullWidth={maximized ? false : fullWidth}
8181
fullScreen={maximized}
8282
hideBackdrop
83+
disableEnforceFocus
8384
disableEscapeKeyDown
8485
sx={{
8586
"& .MuiPaper-root": {
Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,3 @@
11
export * from './MarkdownRenderer';
22

3-
export * from './types';
4-
5-
export * from './utils';
3+
export * from './types';

client/src/components/MarkdownRenderer/types.ts

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -4,9 +4,5 @@
44
* See the LICENSE file in the project root for license details. *
55
************************************************************************/
66

7-
export const EXTRACTION_TYPE = {
8-
IMAGE: 'IMAGE',
9-
CODE_BLOCK: 'CODE_BLOCK',
10-
} as const;
11-
12-
export type EXTRACTION_TYPE = typeof EXTRACTION_TYPE[keyof typeof EXTRACTION_TYPE];
7+
export {EXTRACTION_TYPE} from '@shared/utils';
8+
export type {EXTRACTION_TYPE as ExtractionType} from '@shared/utils';

client/src/components/MarkdownRenderer/utils.ts

Lines changed: 0 additions & 32 deletions
This file was deleted.

client/src/components/nodes/ChartNode/ChartNode.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ import {
1919
Legend
2020
} from "chart.js";
2121
import {BaseNode} from "../BaseNode";
22-
import {ChartDataSchema, type ChartData, CHART_INPUT_JSON_SCHEMA} from "./types/chart.types";
22+
import {ChartDataSchema, type ChartData, CHART_INPUT_JSON_SCHEMA} from "./types/input.types";
2323
import {runTask} from "../BaseNode/utils";
2424
import {LogsDialog} from "../../LogsDialog";
2525
import {BaseDialog} from "../../BaseDialog";

client/src/components/nodes/ChartNode/types/chart.types.ts renamed to client/src/components/nodes/ChartNode/types/input.types.ts

File renamed without changes.

client/src/components/nodes/DataFlowSpyNode/DataFlowSpyNode.tsx

Lines changed: 27 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,8 @@ import {reformatContent} from "./utils/contentParser";
1818
import {Icon} from "./constants";
1919
import {AppNode} from "../workflow.gen";
2020
import {assertIsEnhancedNodeData} from "../../../types/workflow";
21+
import {IconButton, Tooltip} from "@mui/material";
22+
import {Copy} from "iconoir-react";
2123

2224

2325
const NO_OUTPUT_AVAILABLE = "No output available";
@@ -32,6 +34,7 @@ export function DataFlowSpyNode ({id, data}: NodeProps<AppNode>) {
3234
const [isRunning, setIsRunning] = useState(false);
3335
const [formattedValue, setFormattedValue] = useState<string>("");
3436
const [formatting, setFormatting] = useState(false);
37+
const [copied, setCopied] = useState(false);
3538

3639
const {title, input, onResultUpdate} = data;
3740

@@ -88,13 +91,30 @@ export function DataFlowSpyNode ({id, data}: NodeProps<AppNode>) {
8891
onClose={() => setOpenOutput(false)}
8992
title={title}
9093
>
91-
{formatting ? (
92-
<div style={{textAlign: "center", padding: "2em"}}>
93-
<span>Formatting large content...</span>
94-
</div>
95-
) : (
96-
<MarkdownRenderer content={formattedValue} />
97-
)}
94+
<div style={{position: "relative", flex: 1, minHeight: 0, display: "flex", flexDirection: "column"}}>
95+
<Tooltip title={copied ? "Copied!" : "Copy raw value"} placement="left">
96+
<IconButton
97+
size="small"
98+
onClick={() => {
99+
navigator.clipboard.writeText(JSON.stringify(input, null, 4));
100+
101+
setCopied(true);
102+
103+
setTimeout(() => setCopied(false), 2000);
104+
}}
105+
sx={{position: "absolute", top: 4, right: 4, zIndex: 1}}
106+
>
107+
<Copy width={28} height={28} />
108+
</IconButton>
109+
</Tooltip>
110+
{formatting ? (
111+
<div style={{textAlign: "center", padding: "2em"}}>
112+
<span>Formatting large content...</span>
113+
</div>
114+
) : (
115+
<MarkdownRenderer content={formattedValue} />
116+
)}
117+
</div>
98118
</BaseDialog>
99119
</>
100120
);

client/src/components/nodes/DataSourceNode/DataSourceNode.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,7 @@ export function DataSourceNode ({data, id}: NodeProps<AppNode>) {
5959
let prefix;
6060

6161
if (IMAGE_FILE_EXTENSIONS.has(ext)) {
62-
prefix = markdownImageFilePrefix(imageCounter++);
62+
prefix = markdownImageFilePrefix(imageCounter++, file.name);
6363
} else {
6464
prefix = markdownFilePrefix(file.name);
6565
}

client/src/components/nodes/DataSourceNode/components/FilesInput/FilesInput.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ import {Attachment, Xmark} from 'iconoir-react';
1010
import './FilesInput.scss';
1111
import {useRef, useEffect, useState} from 'react';
1212
import {FileData, FilesDataSource} from '../../types/workflow';
13-
import {extractFromMarkdown, EXTRACTION_TYPE} from '../../../../MarkdownRenderer';
13+
import {extractFromMarkdown, EXTRACTION_TYPE} from '@shared/utils';
1414
import {fileExtensionToCodeBlockLang} from "@shared/utils";
1515
import {IMAGE_FILE_EXTENSIONS, SUPPORTED_FILE_EXTENSIONS, TRIPLE_BACKTICK} from '@shared/constants';
1616

0 commit comments

Comments
 (0)