Commit graph

2498 commits

Author SHA1 Message Date
Claude
bd9ca7e8dc
Fix field import pipeline and deepen AG-Refine integration
- Data Ingest: after AI extraction, detect field names in structured data
  and offer one-click import of harvest records + crop history into matching
  field profiles; "Re-import" link persists on each ingested file card

- Field Profiles: expanded card now renders full Crop History table (year,
  crop, yield) and Harvest Records (date, yield, moisture) pulled from
  stored data; previously these were stored but never displayed

- Field Profiles: added separate Pull (sync from AG-Refine) and Push (write
  to AG-Refine localStorage) buttons making the integration bidirectional;
  synced fields fire a CustomEvent so a listening AG-Refine app can react

- Field Profiles: sync log panel shows last 5 syncs with timestamp, field
  counts, and source URL; card summary line shows "X yr history" count
  and source badge (manual / AG-Refine / AG-Refine + manual)

- Background: added AGREFINE_PUSH message handler that serializes all
  field profiles and calls pushToAgRefine

- Added seeder test (tests/seed_and_screenshot.mjs) with realistic
  Hendricks Family Farms data and screenshots of all 6 tabs

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01KBD2dN2KEjzz3UQFa9hEpu
2026-06-27 14:23:52 +00:00
Claude
9b17585756
Add persistent API key storage with remember option
Previously the Anthropic API key was session-only and lost on Chrome
restart. Now:

- KEYS.API_KEY_SAVED added to storage schema (chrome.storage.local)
- Background service worker restores saved key into session on startup,
  so the key is available immediately without re-entering it
- SET_API_KEY handler accepts a `remember` flag: if true, writes to
  both session and local; if false, clears the local copy
- Settings panel: "Remember across sessions" checkbox next to Save,
  "Forget saved key" button appears when a key is persisted
- Status text distinguishes "Key saved across sessions" vs
  "Key active this session only"

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01KBD2dN2KEjzz3UQFa9hEpu
2026-06-27 06:58:43 +00:00
Claude
cac81d3a86
Fix document parsing and add AG-Refine sister-app sync
Document parsing fixes:
- Copy pdf.worker.min.mjs to dist/pdf.worker.js via webpack CopyPlugin
  (was missing, causing all PDF parsing to silently fail)
- Set webpack output.publicPath '/' so dynamic import chunks resolve
  correctly from Chrome extension chrome-extension:// URLs
- pdfjs: pass Uint8Array and set useWorkerFetch/isEvalSupported for
  extension CSP compatibility
- Add Python doc server (tools/doc_server.py) using flask + pandas +
  PyPDF2 at localhost:7432; extension tries it first then falls back
  to browser-side parsing for more robust CSV/Excel/PDF extraction

AG-Refine sister-app integration:
- New utils/agrefine-bridge.js: detects open AG-Refine tab by URL
  pattern, executes script to dump its localStorage, maps field/load
  data to Agrifine field profile schema, merges without overwriting
  user edits, logs sync history
- Background handler AGREFINE_SYNC calls syncFromAgRefine()
- Field Profiles module: "AG-Refine" sync button, status feedback,
  synced-field badge, "Open in AG-Refine ↗" link in expanded detail
- Settings panel: AG-Refine URL field so sync pins to a specific origin
- sidebar/index.js: loads and saves AG-Refine URL on settings open/save

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01KBD2dN2KEjzz3UQFa9hEpu
2026-06-27 06:54:41 +00:00
Claude
1a9210178b
Add built dist files and untrack from gitignore
Chrome loads files from dist/ directly, so the built output needs to be
in the repo. Removed dist/ from .gitignore and committed the current
build which includes the AG-Refine dark theme redesign.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01KBD2dN2KEjzz3UQFa9hEpu
2026-06-27 06:32:44 +00:00
Claude
564ec1145e
Redesign Agrifine extension UI to match AG-Refine dark theme
Replace all light-mode Tailwind classes across every module with the
AG-Refine dark design system: #0f1621 body, #131c2b header/nav,
#1a2438 cards, #1e2d40 borders, agri-green (22c55e/16a34a) accents.

- tailwind.config.js: add `night` dark palette (950–300)
- sidebar.css: full dark rewrite (cards, tags, inputs, scrollbar)
- sidebar.html: AG/REFINE/FIELD INTELLIGENCE logo, dark tab bar with
  INTEL/INGEST/FIELDS/DATA/CARBON/AGENT labels and dot indicators
- sidebar/index.js: manage inactive tab color via inline style
- reading-list: card links → agri-400, summary/date → gray-400/500
- data-ingest: drop zone → night borders, file cards → dark theme
- field-profile: form → night-700 bg, inputs use .ag-input, cards dark
- dashboard: AI query bar and category pills → dark, answer box dark
- carbon-estimator: feature list and notify banner → dark palette
- ag-refine: suggestions → night-700, chat bubbles dark, tool call
  cards use night-700/border-night-600, errors use red-900/20 tint

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01KBD2dN2KEjzz3UQFa9hEpu
2026-06-27 06:28:50 +00:00
Claude
05a3a3bbd0
feat: persistent farm memory and enriched context bundle for AgriAgent
Farm memory (agrifine_farm_memory in chrome.storage.local):
- New FarmMemory schema: aiGeneratedSummary, farm_name, total_acres,
  primary_crops, soil_overview, key_insights, action_items, risk_flags,
  opportunities, lastUpdated
- getFarmMemory() / saveFarmMemory() in storage.js

buildContextBundle() now loads all four data sources in parallel:
  1. Farm memory snapshot (AI synthesis from prior sessions) — at top
  2. Field profiles with crop history, harvest records, and coordinates
  3. Ingested data files with structured-data previews
  4. Reading list articles with summaries and tags

Two new AgriAgent tools:
- get_farm_memory: retrieve the stored knowledge snapshot
- update_farm_memory: agent saves a comprehensive farm synthesis so future
  sessions start with full context (the key to persistent memory)

System prompt rewrite in agent.js:
- Agent now understands its role as the farm's persistent advisor
- Memory protocol: reference farm memory first, update it when new
  insights are discovered
- Explicit reasoning steps: Ground → Gaps → Connect → Cite → Remember
- Full tool selection guide with when-to-use guidance for all 11 tools

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01KBD2dN2KEjzz3UQFa9hEpu
2026-06-27 06:12:05 +00:00
Claude
7346642563
feat: add 5 new AgriAgent tools for web browsing and data export
screenshot_active_tab — captures current browser tab as JPEG; agent.js
  formats the result as an Anthropic vision image block so Claude can
  actually see the page (not just its text)

get_page_content — reads text of the active tab via content script, or
  falls back to the reading-list cache when a URL is supplied

export_farm_data — generates a CSV or JSON file and triggers a browser
  download for reading_list, field_profiles, ingested_files, or all data

open_tab — opens any https:// URL in a new browser tab and waits for it
  to finish loading; returns tab_id for chained tool calls

read_tab_content — extracts and parses page text from any tab by tab_id
  (or active tab) using chrome.scripting.executeScript; more reliable
  than the content-script sendMessage path

Background worker gains CAPTURE_SCREENSHOT, GET_ACTIVE_TAB_CONTENT,
OPEN_TAB, and READ_TAB_CONTENT message handlers; agent.js detects
_type:'image' results and formats them as vision content blocks.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01KBD2dN2KEjzz3UQFa9hEpu
2026-06-27 06:08:04 +00:00
Claude
3185b04ed6
fix: patch all 10 code-review findings in agrifine-extension
- agent.js: add anthropic-dangerous-direct-browser-access header to _callAPI
  (root cause of 401 CORS errors in AgriAgent tab)
- agent.js: handle stop_reason=max_tokens alongside end_turn
- ag-refine/index.js: reset isRunning in a try/catch around agent.run()
- tools.js: check res.ok before parsing JSON in toolLookupUSDAsoil
- tools.js: guard p.name?.toLowerCase() against null field names
- field-profile/index.js: guard both lat and lon before toFixed()
- reading-list/index.js: escapeHtml + safeHref to prevent XSS from page titles/urls
- dashboard/index.js: escapeHtml AI answer and all dynamic list content
- data-ingest/index.js: add .xlsx/.xls extension fallbacks for missing MIME type
- storage.js: check chrome.runtime.lastError in all four storage helpers

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01KBD2dN2KEjzz3UQFa9hEpu
2026-06-27 04:35:32 +00:00
Claude
b7b832764d
fix: add anthropic-dangerous-direct-browser-access header for CORS 2026-06-27 04:16:30 +00:00
Claude
3e16c962c6
feat: add run-agrifine-extension skill + Playwright driver
Driver (.claude/skills/run-agrifine-extension/driver.mjs):
- Launches Chrome with unpacked extension via Playwright persistent context
- Stubs chrome.* APIs so sidebar renders headlessly without real extension context
- REPL commands: ss, tab, click, type, eval, quit
- Screenshots land in screenshots/
- Verified: all 6 tabs render correctly (Reading, Ingest, Fields, Dashboard, Carbon, Agent)

SKILL.md documents agent path first, gotchas, and troubleshooting from
actual execution in this container.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01KBD2dN2KEjzz3UQFa9hEpu
2026-06-27 04:05:08 +00:00
Claude
6f94bd7c79
feat: add AgriAgent — real agentic loop with tool use
Multi-step AI agent in src/ag-refine/:
- agent.js: Claude tool-use loop (up to 10 iterations), streams events
  to UI as it thinks and calls tools
- tools.js: 6 live tools — get_reading_list, get_field_profiles,
  get_ingested_files, get_weather (Open-Meteo), lookup_usda_soil
  (USDA SDA API), calculate_gdd
- index.js: chat UI with streaming tool-call display, suggested
  prompts, clear conversation
- Wired as new Agent tab in sidebar (6th tab)
- Also fixes manifest.json paths (dist/ prefix removed)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01KBD2dN2KEjzz3UQFa9hEpu
2026-06-27 03:58:28 +00:00
Claude
86775eacbd
fix: correct manifest paths for dist/ load context 2026-06-27 03:50:57 +00:00
Claude
17e2ab8f1a
feat: add Agrifine browser extension scaffold (Phase 1)
Manifest V3 Chrome extension with a persistent side-panel dashboard
for farm data management. Includes:

- Background service worker that proxies all Anthropic API calls
  (API key stored in chrome.storage.session, never in content scripts)
- Content script that extracts page text for reading-list summarisation
- Sidebar UI with bottom tab bar and settings panel (API key entry)
- Five module stubs wired to live storage:
    1. ReadingList — save pages with AI summary + topic tagging
    2. DataIngest — drag-and-drop CSV/Excel/PDF → AI-structured JSON
    3. FieldProfile — per-field cards with CLU, acres, soil, coordinates
    4. Dashboard — unified filterable view + natural-language AI query bar
    5. CarbonEstimator — Phase 7 stub with feature preview
- Shared storage schema (chrome.storage.local) with context-bundle
  builder for passing reading-list + field data as AI system context
- Tailwind CSS + Webpack 5 build pipeline; builds successfully

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01KBD2dN2KEjzz3UQFa9hEpu
2026-06-27 03:15:11 +00:00
Sachin thakur
9c8a4503ec
Add LiteLLM (#3214)
Some checks failed
CI / test (push) Has been cancelled
Deploy Website / deploy (push) Has been cancelled
2026-06-26 12:02:48 +04:00
Luke Plant
ac24993156
Added parsy to 'Text Processing / Parsers' section (#3212)
Some checks failed
CI / test (push) Has been cancelled
Deploy Website / deploy (push) Has been cancelled
2026-06-24 11:33:17 +04:00
Jicheng Liu
6ed53787c6
Add langgraph to AI and Agents (Orchestration) (#3194)
Some checks failed
CI / test (push) Has been cancelled
Deploy Website / deploy (push) Has been cancelled
2026-06-12 08:11:12 +04:00
Paul Wallrabe
32b4e7f45f
Add Jumpstarter to Hardware (#3179)
Some checks failed
CI / test (push) Has been cancelled
Deploy Website / deploy (push) Has been cancelled
2026-06-09 09:31:52 +04:00
Jicheng Liu
58977f33ac
Merge pull request #3193 from Oliver-Liu99/add-outlines
Add outlines to AI and Agents (Data Layer)
2026-06-09 09:30:02 +04:00
Vinta Chen
c0b80fd75f
fix: surface sponsorship link in header
Some checks failed
CI / test (push) Has been cancelled
Deploy Website / deploy (push) Has been cancelled
2026-06-07 03:22:28 +08:00
Vinta Chen
32ae78fd96
fix: improve website SEO metadata 2026-06-07 03:08:43 +08:00
Vinta Chen
9f156de2b4
make descriptions shorter 2026-06-07 02:58:34 +08:00
Vinta Chen
ee08cd7d86
update sponsorship webpage 2026-06-07 02:50:19 +08:00
Vinta Chen
bcfba78576
add Indie Dev sponsorship tier 2026-06-07 02:39:06 +08:00
Vinta Chen
037de836f1
Merge pull request #3189 from fauzan171/fix/outdated-version-references
fix: update outdated version references in descriptions
2026-06-07 01:29:52 +08:00
Vinta Chen
ada22936cd
Merge pull request #3190 from fauzan171/fix/chardet-description
fix: update chardet description to remove outdated Python 2 reference
2026-06-07 01:29:18 +08:00
fauzan171
647d723ecf fix: update chardet description to remove outdated Python 2 reference
Python 2 reached end-of-life in January 2020. The 'Python 2/3
compatible' qualifier is no longer relevant and misleading. Updated
to match the official repository description.
2026-06-07 00:08:39 +07:00
fauzan171
3e8404c95f fix: update outdated version references in descriptions
- sanic: Remove 'Python 3.6+' version constraint (now requires
  Python >=3.10 per PyPI metadata)
- django-guardian: Remove 'Django 1.2+' version constraint
  (outdated reference, now requires Python >=3.10 per PyPI metadata)
2026-06-07 00:07:29 +07:00
fauzan171
eb86241240 sync with upstream 2026-06-06 23:58:13 +07:00
Jinyang
235034565f
Merge pull request #3183 from JinyangWang27/add-nuwa-skill
Some checks failed
CI / test (push) Has been cancelled
Deploy Website / deploy (push) Has been cancelled
2026-06-05 19:37:47 +04:00
Beslan Birzhev
6dd7b2a659
Add kubesdk (#3166)
Some checks failed
CI / test (push) Has been cancelled
Deploy Website / deploy (push) Has been cancelled
2026-06-04 08:35:12 +04:00
Jinyang
b7e6781304 add nuwa-skill 2026-06-04 08:29:45 +04:00
Amin Alaee
5fe1dbd204
Add uuid-utils (#3178) 2026-06-04 08:25:05 +04:00
Tianyu Hu
d85e849fa1
Update canonical GitHub project links (#3177) 2026-06-04 08:22:42 +04:00
Renato
f0bfc4cfa2
Add synology-api entry to README (#3174)
Some checks failed
CI / test (push) Has been cancelled
Deploy Website / deploy (push) Has been cancelled
Add an entry for synology-api to the README's list of Python libraries. The link points to N4S4/synology-api and notes it provides a Python wrapper for Synology NAS APIs (Surveillance Station, File Station, Download Station, Docker, and 50+ other endpoints).
2026-06-02 13:23:10 +04:00
Samxss
d51eff7eaf
docs: add scikit-lego to Machine Learning section (#3168)
Some checks failed
CI / test (push) Has been cancelled
Deploy Website / deploy (push) Has been cancelled
Added scikit-lego library to the Machine Learning category keeping strict alphabetical order.
2026-05-30 19:33:04 +04:00
Jinyang
aa8dad7d56
Merge pull request #3157 from LauraGPT/master
Some checks failed
CI / test (push) Has been cancelled
Deploy Website / deploy (push) Has been cancelled
2026-05-29 08:06:38 +04:00
Jinyang
1f915d6209
Merge pull request #3169 from ShawnChen-Sirius/add-chdb
Some checks are pending
CI / test (push) Waiting to run
Deploy Website / deploy (push) Waiting to run
2026-05-28 10:52:11 +04:00
Shawn Chen
96da94e633 Add chdb to Database 2026-05-28 17:59:03 +12:00
Vinta Chen
79e0d8dc29
docs: add repository agent guidance 2026-05-27 15:41:37 +08:00
Jinyang
e90ae86068
Merge pull request #3155 from dewana-sl/add-kittentts
Some checks failed
CI / test (push) Has been cancelled
Deploy Website / deploy (push) Has been cancelled
Add KittenTTS
2026-05-26 19:24:53 +04:00
Dewan (Stellon Labs)
a6033b52a8
Merge branch 'master' into add-kittentts 2026-05-25 17:10:56 +05:30
xiaoyunchong.xyc
9e20e5153a Add FunASR to Speech section 2026-05-25 00:47:50 +08:00
Vinta Chen
fe6379f34d
clean up
Some checks failed
CI / test (push) Has been cancelled
Deploy Website / deploy (push) Has been cancelled
2026-05-24 15:25:01 +08:00
Dewan Shakil
9036e5ede2 Add KittenTTS 2026-05-24 04:25:55 +05:30
Jinyang
a10ec14611
Add graphify (#3154)
Some checks are pending
CI / test (push) Waiting to run
Deploy Website / deploy (push) Waiting to run
2026-05-23 20:20:33 +04:00
dependabot[bot]
e403a8f064
build(deps): bump idna from 3.11 to 3.15 (#3147)
Some checks failed
CI / test (push) Has been cancelled
Deploy Website / deploy (push) Has been cancelled
Bumps [idna](https://github.com/kjd/idna) from 3.11 to 3.15.
- [Release notes](https://github.com/kjd/idna/releases)
- [Changelog](https://github.com/kjd/idna/blob/master/HISTORY.md)
- [Commits](https://github.com/kjd/idna/compare/v3.11...v3.15)

---
updated-dependencies:
- dependency-name: idna
  dependency-version: '3.15'
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-05-22 09:58:37 +04:00
Raahul Dutta - রাহুল 🖖
a089ae28cc
Merge pull request #3137 from raahulrahl/add-bindu
Some checks failed
CI / test (push) Has been cancelled
Deploy Website / deploy (push) Has been cancelled
Add bindu to AI and Agents > Orchestration
2026-05-19 08:31:32 +04:00
Vinta Chen
a9b13e4c4a
update .gitignore
Some checks are pending
CI / test (push) Waiting to run
Deploy Website / deploy (push) Waiting to run
2026-05-18 13:53:45 +08:00
Jinyang
e7cd326678
Merge pull request #3132 from aasimansari1/add-ultralytics
Add Ultralytics (YOLO) to Computer Vision section
2026-05-18 07:53:32 +04:00
Vinta Chen
3e66360e40
refine wording
Some checks are pending
CI / test (push) Waiting to run
Deploy Website / deploy (push) Waiting to run
2026-05-17 17:15:31 +08:00