Skip to content

Introduce Data Storage API, Pipelines and Drag & Drop#13

Merged
HexaField merged 23 commits into
devfrom
data-storage-api
Sep 3, 2025
Merged

Introduce Data Storage API, Pipelines and Drag & Drop#13
HexaField merged 23 commits into
devfrom
data-storage-api

Conversation

@HexaField
Copy link
Copy Markdown
Owner

No description provided.

@HexaField HexaField temporarily deployed to HexaField/conjure-static-build-gh-pages August 30, 2025 05:40 — with GitHub Actions Inactive
@HexaField HexaField temporarily deployed to HexaField/conjure-static-build-gh-pages August 30, 2025 08:04 — with GitHub Actions Inactive
@HexaField HexaField temporarily deployed to HexaField/conjure-static-build-gh-pages August 30, 2025 10:16 — with GitHub Actions Inactive
@HexaField HexaField temporarily deployed to HexaField/conjure-static-build-gh-pages August 30, 2025 10:24 — with GitHub Actions Inactive
@HexaField HexaField temporarily deployed to HexaField/conjure-static-build-gh-pages August 30, 2025 10:37 — with GitHub Actions Inactive
@HexaField HexaField temporarily deployed to HexaField/conjure-static-build-gh-pages August 30, 2025 10:44 — with GitHub Actions Inactive
@HexaField HexaField temporarily deployed to HexaField/conjure-static-build-gh-pages August 30, 2025 10:57 — with GitHub Actions Inactive
@HexaField HexaField temporarily deployed to HexaField/conjure-static-build-gh-pages August 30, 2025 11:17 — with GitHub Actions Inactive
@HexaField HexaField marked this pull request as ready for review August 30, 2025 11:18
@HexaField HexaField requested a review from Copilot August 30, 2025 11:18
Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull Request Overview

This PR implements a data storage API for ADAM by creating a pluggable storage system that supports local, server, and ADAM storage methods for tool and schema registries.

  • Replaces local storage synchronization with a unified P2P API supporting multiple storage backends
  • Implements reactive data synchronization between registries and storage providers
  • Adds HTTPS file server and ADAM integration for distributed data persistence

Reviewed Changes

Copilot reviewed 10 out of 11 changed files in this pull request and generated 5 comments.

Show a summary per file
File Description
src/tools/registries/constants.ts Defines predicate constants for RDF-style storage
src/tools/registries/ToolRegistry.tsx Replaces local storage with P2P API and adds reactive sync components
src/tools/registries/SchemaRegistry.tsx Integrates P2P API with reactive sync for schema persistence
src/tools/GraphPage.tsx Adds storage method dropdown and dynamic API client initialization
src/api/server.ts Implements server-based storage API client
src/api/local.ts Implements localStorage-based storage API client
src/api/CRUD.ts Defines core CRUD API types and P2P_API state
src/ad4m/useADAM.tsx Implements ADAM storage API client using AD4M protocol
package.json Adds express dependency and fileserver script
fileserver.ts Implements HTTPS file server for server storage backend

Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.

Comment thread src/tools/GraphPage.tsx Outdated
Comment thread src/tools/registries/ToolRegistry.tsx Outdated
Comment thread src/tools/registries/SchemaRegistry.tsx Outdated
.get({ source, predicate: SCHEMA_PREDICATE })
.then(async (response: object) => {
if (!response) return
const { schema, label, description } = response as any
Copy link

Copilot AI Aug 30, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Using as any bypasses TypeScript type checking. Define a proper interface for the expected response structure to ensure type safety.

Copilot uses AI. Check for mistakes.
Comment thread fileserver.ts
@@ -0,0 +1,184 @@
import express, { Request } from 'express'
import fs from 'fs'
import https from 'https'
Copy link

Copilot AI Aug 30, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The HTTPS server uses hardcoded certificate paths that may not exist in all environments. Consider adding error handling for missing certificate files or making paths configurable through environment variables.

Copilot uses AI. Check for mistakes.
@HexaField HexaField changed the title Implement data storage API for ADAM Introduce Pipelines & Implement data storage API Aug 31, 2025
@HexaField HexaField changed the title Introduce Pipelines & Implement data storage API Introduce Pipelines and Data Storage API Aug 31, 2025
@HexaField HexaField marked this pull request as draft August 31, 2025 07:18
@HexaField HexaField temporarily deployed to HexaField/conjure-static-build-gh-pages August 31, 2025 10:25 — with GitHub Actions Inactive
@HexaField HexaField temporarily deployed to HexaField/conjure-static-build-gh-pages August 31, 2025 10:34 — with GitHub Actions Inactive
@HexaField HexaField temporarily deployed to HexaField/conjure-static-build-gh-pages August 31, 2025 10:51 — with GitHub Actions Inactive
@HexaField HexaField temporarily deployed to HexaField/conjure-static-build-gh-pages August 31, 2025 10:55 — with GitHub Actions Inactive
@HexaField HexaField temporarily deployed to HexaField/conjure-static-build-gh-pages August 31, 2025 11:02 — with GitHub Actions Inactive
…sion utilities, and update related components
@HexaField HexaField temporarily deployed to HexaField/conjure-static-build-gh-pages August 31, 2025 11:57 — with GitHub Actions Inactive
@HexaField HexaField temporarily deployed to HexaField/conjure-static-build-gh-pages August 31, 2025 23:08 — with GitHub Actions Inactive
@HexaField HexaField temporarily deployed to HexaField/conjure-static-build-gh-pages August 31, 2025 23:55 — with GitHub Actions Inactive
@HexaField HexaField temporarily deployed to HexaField/conjure-static-build-gh-pages September 1, 2025 07:51 — with GitHub Actions Inactive
@HexaField HexaField temporarily deployed to HexaField/conjure-static-build-gh-pages September 1, 2025 09:37 — with GitHub Actions Inactive
@HexaField HexaField changed the title Introduce Pipelines and Data Storage API Introduce Data Storage API, Pipelines and Drag & Drop Sep 1, 2025
@HexaField HexaField temporarily deployed to HexaField/conjure-static-build-gh-pages September 1, 2025 11:28 — with GitHub Actions Inactive
@HexaField HexaField temporarily deployed to HexaField/conjure-static-build-gh-pages September 2, 2025 05:04 — with GitHub Actions Inactive
@HexaField HexaField temporarily deployed to HexaField/conjure-static-build-gh-pages September 2, 2025 08:28 — with GitHub Actions Inactive
@HexaField HexaField temporarily deployed to HexaField/conjure-static-build-gh-pages September 2, 2025 09:01 — with GitHub Actions Inactive
@HexaField HexaField marked this pull request as ready for review September 3, 2025 04:35
@HexaField HexaField merged commit 061f14c into dev Sep 3, 2025
6 checks passed
@HexaField HexaField deleted the data-storage-api branch September 3, 2025 04:35
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants