1192 Commits

Author SHA1 Message Date
Shubham Saboo 11a4bc330e Merge pull request #1110 from Shubhamsaboo/add-vorflux-sponsor
Add Vorflux sponsor banner and restore sponsor section
2026-08-21 21:01:54 -07:00
ci b2bdfa5910 Move sponsor section after Run one now
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-08-21 21:00:05 -07:00
ci 615bef60ec Crop Vorflux banner to 1500x500 to match other sponsor banners
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-08-21 20:59:36 -07:00
ci b7bc9b52c3 Add Vorflux sponsor banner and restore sponsor section
Restores the two-banner sponsor section before Run one now, with
Vorflux in spot 1 and Become a Sponsor in spot 2.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-08-21 20:58:24 -07:00
Shubham Saboo 813a55e1a6 Merge pull request #1093 from aoright/fix/relative-link-ai-travel-planner
fix(docs): fix relative directory link for AI Travel Planner Agent Team
2026-08-16 19:42:50 -07:00
Shubham Saboo 652444b8ff Merge pull request #1101 from sailikhithk/fix/remove-deprecated-pathlib-pypdf-1029
fix: remove deprecated pathlib backport and migrate PyPDF2 to pypdf
2026-08-16 19:42:28 -07:00
sailikhithk 6e1e315c02 fix: remove deprecated pathlib backport and migrate PyPDF2 to pypdf (#1029)
Remove pathlib==1.0.1 from ai_tic_tac_toe_agent/requirements.txt. This is the
abandoned 2012 backport of the stdlib module that can shadow and break Python's
built-in pathlib on modern Python. The code already uses `from pathlib import
Path` (stdlib), so the package is unnecessary.

Migrate PyPDF2 to pypdf in two projects (ai_recruitment_agent_team and
rag_chain). PyPDF2 is deprecated and had a ReDoS vulnerability (CVE-2023-36810).
The maintained successor is pypdf, which the rest of the repo already uses in
10+ other projects. The PdfReader API is identical:
  - import PyPDF2 -> import pypdf
  - PyPDF2.PdfReader -> pypdf.PdfReader

Files changed:
- ai_tic_tac_toe_agent/requirements.txt: removed pathlib==1.0.1
- ai_recruitment_agent_team/requirements.txt: PyPDF2==3.0.1 -> pypdf>=4.0.0
- ai_recruitment_agent_team/ai_recruitment_agent_team.py: import and usage
- ai_recruitment_agent_team/README.md: updated tech stack mention
- rag_chain/requirements.txt: PyPDF2 -> pypdf>=4.0.0
2026-08-15 17:35:13 -05:00
aoright eb924dd68e fix(docs): fix relative directory link for AI Travel Planner Agent Team
Signed-off-by: aoright <102943475+aoright@users.noreply.github.com>
2026-08-14 17:18:28 +08:00
Shubham Saboo a0e0eb33c6 Update default model date in README 2026-08-13 11:45:25 -07:00
Shubham Saboo 5fb50fef53 Merge pull request #1091 from Shubhamsaboo/swap-advisor-cover-dark
Swap Advisor Orchestrator Worker cover for the dark-theme diagram
2026-08-13 11:44:56 -07:00
ci cfc6779f8b Swap cover for the dark-theme Meta LOOP diagram
Replaces advisor_skill.png with advisor_skill.jpeg (1504x704,
527K vs 1.6M) and points the README at the new file.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-13 11:44:07 -07:00
Shubham Saboo 1feb88dd18 Merge pull request #1090 from Shubhamsaboo/advisor-skill-cover-and-readme
Advisor Orchestrator Worker: new cover + Gemini 3.7 Flash in main README
2026-08-13 10:45:15 -07:00
ci a081cd52ab Refresh Advisor Orchestrator Worker cover image
New diagram shows the Gemini 3.7 Flash worker tier. Image is
committed alongside the skill and referenced relatively instead
of via a github user-attachments URL.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-13 10:42:18 -07:00
ci ca1b8593a6 Update Advisor Orchestrator Worker model name in main README
Worker tier is Gemini 3.7 Flash, matching the skill docs.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-13 10:41:07 -07:00
Shubham Saboo de751dae40 Merge pull request #1089 from Shubhamsaboo/update-advisor-worker-gemini-3-7-flash
Use Gemini 3.7 Flash for advisor-orchestrator-worker workers
2026-08-13 10:38:38 -07:00
ci 2d52ca9214 Use Gemini 3.7 Flash for advisor-orchestrator-worker workers
Bumps the default worker model from gemini-3.5-flash to
gemini-3.7-flash across the skill docs, the agy CLI dispatch
snippet, and the bare Gemini API fallback endpoint.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-13 10:37:07 -07:00
Shubham Saboo 3d532f66e5 Merge pull request #938 from grp06/add-openai-remote-mcp-bridge
Add raw OpenAI-to-remote-MCP tool bridge tutorial
2026-08-10 00:26:17 -07:00
Shubham Saboo f439207535 Merge pull request #1058 from ayoub-chabchoub/ai-meme-generator-gemini-support
Add Gemini model support for ai meme generator project
2026-08-10 00:26:14 -07:00
Ayoub CHABCHOUB 127d138b1f - Use 'gemini-3.6-flash' instead of 'gemini-3.5-flash'.
- Change the gemini model temerature to 0.3 instead of 0.
- Add to the README.md how to run the agent using uv.
2026-08-09 18:31:26 +01:00
Shubham Saboo 3bae43f3fe Merge pull request #1076 from Shubhamsaboo/claude/zealous-heisenberg-v4xhow
Add .gitattributes to mark lockfiles as generated
2026-08-09 04:43:20 -07:00
Shubham Saboo 06135239ce Merge pull request #871 from katrinalaszlo/feat/ai-knowledge-explorer-v2
feat: add AI Knowledge Explorer generative UI agent
2026-08-09 04:41:40 -07:00
Claude 927b0bb7d7 Add .gitattributes to mark lockfiles as generated
Committed lockfiles (package-lock.json, uv.lock, pnpm-lock.yaml, and
others) are kept for reproducible installs but flagged linguist-generated
so GitHub collapses them in diffs and excludes them from language stats.
This keeps PRs that ship lockfiles small and reviewable without dropping
reproducibility.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_0174eaH6iN7hAo2BGWKXjd3S
2026-08-09 08:51:33 +00:00
Shubham Saboo 87835cfac0 Merge pull request #1075 from hogeheer499-commits/codex/fix-local-chatgpt-setup
docs: fix local ChatGPT setup paths
2026-08-08 21:24:37 -07:00
hogeheer bcc422e166 docs: fix local ChatGPT setup paths 2026-08-09 05:48:09 +02:00
Kat Laszlo f22d51627d fix: add demo GIF, document model choice, bump langgraph-api
Addresses maintainer review on #871: embeds a demo GIF of the real
upload -> extract -> expand -> chat flow, documents why gpt-4o is the
shipped default (prompted-JSON extraction, not function-calling tuned,
so OPENAI_MODEL swaps should work), and bumps langgraph-api past its
EOL 0.9.0 pin.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-08-04 15:23:22 -07:00
shakthi-1307 779e9f9bcf Fix issue #1027: Added tokenizer and saved the model at the end (#1033) 2026-08-02 20:30:58 -07:00
Thejesh a855f2cae2 Fix broken retrieval/setup in four RAG tutorials (#1051)
- corrective_rag: route .pdf URLs to PyPDFLoader (WebBaseLoader was running an
  HTML parser over the default arXiv PDF and embedding decoded garbage); and only
  ingest when the source changes — Streamlit re-runs the script on every question,
  so it was deleting the collection and re-embedding the whole document each time.
- agentic_rag_math_agent: KB gate was 'similarity > 0.', which passes for almost
  any query (cosine sim of OpenAI embeddings is ~always >0), so an arbitrary KB
  answer was served as authoritative with 'do not recalculate'. Require >= 0.80.
- knowledge_graph_rag_citations: semantic_search did Neo4j CONTAINS on the whole
  question, which never matches an entity; tokenize and match any term
  case-insensitively.
- ai_blog_search: create the Qdrant collection before constructing
  QdrantVectorStore (which validates and 404s on a fresh instance).

All four compile-check clean.

Co-authored-by: thejesh23 <thejesh23@users.noreply.github.com>
2026-08-02 14:22:41 -07:00
Thejesh b96d19ad05 Fix consultant tool schema, customer-support memory, and governance approval bypass (#1050)
- ai_consultant_agent: wrap tools with @functools.wraps so ADK's
  inspect.signature() sees the real parameters. A bare *args/**kwargs wrapper is
  declared to Gemini with zero params, so every consultant tool call failed with
  a missing-argument error.
- ai_customer_support_agent: set mem0 config version 'v1.1'. mem0 defaults to
  v1.0, whose search()/get_all() return a bare list, so 'results' in memories was
  always False and no past interaction was ever fed to the model.
- ai_agent_governance: an ALLOW PolicyResult with is_terminal=True short-circuited
  evaluation before the approval rule, so delete_file ran WITHOUT approval whenever
  its path was allow-listed. Don't let an explicit allow end evaluation; a later
  deny/approval rule now wins. Verified: delete_file -> REQUIRE_APPROVAL (was ALLOW),
  read_file still ALLOW, execute_shell still REQUIRE_APPROVAL.

Co-authored-by: thejesh23 <thejesh23@users.noreply.github.com>
2026-08-02 14:22:38 -07:00
Shubham Saboo 37d454b4bc Merge pull request #976 from mvanhorn/fix/dependency-doctor-skill
Add dependency-doctor skill: autopsy a rotting requirements.txt (local dev tool)
2026-08-02 13:15:08 -07:00
Ayoub CHABCHOUB 220ffe123c - add gemini model option for LLM choice, use 'gemini-3.5-flash' by default.
- add uv support as package manager for the ai meme generator project.
2026-08-02 18:53:35 +01:00
Shubham Saboo 804dee009f Merge pull request #1055 from thejesh23/fix/frontend-ui-race-cleanup
Fix three frontend bugs: children counter, cross-video seek race, poll-interval leak
2026-08-01 17:38:20 -07:00
Shubham Saboo 38a45a4c46 Merge pull request #1054 from thejesh23/fix/starter-advanced-llm-python
Fix six starter/advanced_llm Python apps that crash on startup or corrupt data
2026-08-01 17:38:16 -07:00
Shubham Saboo b7e839d5ea Merge pull request #1053 from thejesh23/fix/multi-agent-delegation-ui-artifacts
Fix trust-layer privilege escalation, deep-research report button, artifact versioning
2026-08-01 17:38:10 -07:00
Shubham Saboo a814b63786 Merge pull request #1052 from thejesh23/fix/beifong-social-analytics
Fix beifong X-scraper name capture, engagement 500, and dropped sentiment queue
2026-08-01 17:38:05 -07:00
thejesh23 779e6f0328 Fix three frontend bugs: children counter, cross-video seek race, poll leak
- ai_travel_planner_agent_team/client (plan/page.tsx): the 'Number of children'
  NumberInput had min={1} while the form default is 0, so once incremented it
  could never return to 0 and submitted children:1. Set min={0} (adults/rooms
  stay min={1}).
- multimodal_video_moment_finder/frontend (app/page.tsx): jumpToMoment seeked
  after a fixed 100ms setTimeout; on a cross-video jump the new <video src>
  hasn't loaded yet, so the seek is clamped and playback starts at 0. Seek on the
  new file's 'loadeddata' event when switching videos.
- ai_negotiation_battle_simulator/frontend (src/app/page.tsx): the poll
  setInterval was a local var cleared only on a terminal status, with no useEffect
  cleanup, so it kept fetching/setState after unmount and polled forever if the
  run never terminated. Own the handle in a ref and clear it on unmount.
2026-07-31 23:08:59 -07:00
thejesh23 e97e40d66c Fix six starter/advanced_llm Python apps that crash or corrupt data
- ai_music_generator_agent + chat_arxiv_llama3: drop Agent(show_tool_calls=True);
  agno 2.x removed the parameter, so both crash with TypeError on startup
  (chat_arxiv_llama3 at import; sibling chat_arxiv.py already omits it).
- cursor_ai_experiments/multi_agent_researcher: Crew(verbose=2) -> verbose=True;
  current CrewAI's verbose is a strict pydantic bool, so 2 raises ValidationError
  and the crew never runs.
- toonify_token_optimization/{toonify_app,toonify_demo}: guard
  tiktoken.encoding_for_model with try/except KeyError -> cl100k_base; selecting a
  claude-3-* model (offered in the UI) otherwise crashes the token-count tab.
- ai_data_visualisation_agent: uploaded_file.seek(0) before uploading to the
  sandbox; pd.read_csv had already consumed the stream to EOF, so a 0-byte file
  was uploaded and every analysis read an empty dataset.
- ai_data_analysis_agent: remove the manual '"' -> '""' replacement; csv.QUOTE_ALL
  already escapes quotes, so the two together double-escaped every quoted cell.
  Verified round-trip: 'He said "hi"' now preserved (was 'He said ""hi""').

All seven files compile-check clean.
2026-07-31 23:07:10 -07:00
thejesh23 8d619a82f4 Fix trust-layer privilege escalation, deep-research report button, artifact versioning
- multi_agent_trust_layer: DelegationScope.narrow() intersected allowed_actions
  sets, and allows_action() treated an EMPTY set as 'all allowed'. So a
  sub-delegation whose scope didn't overlap the parent's collapsed to an empty
  set and thus permitted EVERYTHING (privilege escalation). Use None as the
  'all allowed' sentinel; an empty intersection now permits nothing. Verified:
  parent{web_search,summarize}.narrow(child{read_document}) -> allows delete_file
  False (was True).
- ai_domain_deep_research_agent: 'Compile Final Report' was nested inside the
  'Start Research' button block, so clicking it reran the script with Start
  Research False and the button was never rendered — the report was unreachable.
  Hoist it out, gate on st.session_state.question_answers.
- ai_home_renovation_agent/tools.py + multimodal_uiux_feedback_agent_team/tools.py:
  the asset version counter was clobbered by save_artifact()'s return value (ADK's
  per-filename revision), so repeated generations for one asset collided on the
  same filename and overwrote each other. Keep the version from
  get_next_version_number; don't rebind it.

All four files compile-check clean.
2026-07-31 23:03:55 -07:00
thejesh23 c51e93ab6d Fix beifong X scraper name capture, engagement 500, and dropped sentiment queue
- x_post_extractor.py: the display-name selector was hardcoded to match 'Henrik',
  so user_display_name/user_profile_pic_url were NULL for every other author (and
  the avatar selector was pinned to one account's data-testid). Use generic
  selectors (first profile anchor without '@'; UserAvatar-Container- prefix).
- social_media_service.get_engagement_stats: AVG()/MAX() over zero matching rows
  return NULL while COUNT(*)=0, so the 'if not result' guard never fires and
  summing None raised HTTP 500 on any empty date range / fresh install. Coalesce
  the aggregates to 0.
- x_scraper.crawl_x_profile: the pending sentiment-analysis queue was flushed only
  on KeyboardInterrupt, so a partial final batch on a normal exit was dropped
  (posts left with NULL sentiment forever) and the connection leaked. Flush after
  the loop on every exit path.

All three compile-check clean.
2026-07-31 22:54:21 -07:00
Shubham Saboo 9f1f80a584 Merge pull request #1022 from thejesh23/fix/single-agent-apps-batch
Fix GTM email campaign success-report + journalist agno 2.x Team API
2026-07-30 18:19:04 -07:00
Shubham Saboo 6253faa4f7 Merge pull request #1024 from thejesh23/fix/rag-tutorials-batch
Fix vision_rag cohere `.float` field and deepseek agno 2.x migration
2026-07-30 18:18:45 -07:00
Shubham Saboo dbc50bfe85 Merge pull request #1032 from aaronatchley6123-lab/fix/composio-agno-migration
Finish phidata->agno migration for recruitment and teaching agent teams
2026-07-30 18:18:22 -07:00
Shubham Saboo cc9cdea69b Merge pull request #1026 from thejesh23/fix/agent-skills-graveyard-redact
Fix project-graveyard `--redact` corrupting state + faking 'no longer found' relapse
2026-07-30 18:18:07 -07:00
Matt Van Horn 277e571156 fix(dependency-doctor): add routing trigger phrases to description
Broaden the SKILL.md description with the ask-shaped trigger phrases
the trigger & routing check expects.
2026-07-29 12:21:57 -07:00
Matt Van Horn 6671b43e20 fix(dependency-doctor): tighten findings precision per review
- Make stdlib-shadowing and abandoned-backport mutually exclusive so a
  name that is both (e.g. pathlib, dataclasses) yields one root-cause
  finding instead of two or three.
- Skip conflicting-constraints between same-package entries carrying
  differing non-python_version markers (e.g. platform_system Linux vs
  Darwin), which are idiomatic platform splits, not conflicts.
- Soften the SKILL.md/README pitch to what the tool actually does
  (surface-level direct-manifest footguns), not diagnosing failed resolves.
2026-07-29 12:21:57 -07:00
Matt Van Horn 6d2f60b929 docs(dependency-doctor): add demo gif to skill README 2026-07-29 12:21:57 -07:00
Matt Van Horn b3c59bfe32 skill metadata: set author to the contributor 2026-07-29 12:21:57 -07:00
Matt Van Horn e8f99f9527 Add dependency-doctor skill: autopsy a rotting requirements.txt (local dev tool) 2026-07-29 12:21:57 -07:00
root a1458c286d Finish phidata->agno migration for recruitment and teaching agent teams
recruitment_agent_team pinned both phidata and agno; drop the stray
phidata line. teaching_agent_team still pinned composio-phidata and
imported composio_phidata, left over from the repo-wide Phidata->Agno
migration; switch to composio-agno (same Action/ComposioToolSet API).

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-07-24 07:16:58 +00:00
Thejesh e46d6feaea Fix release_radar version extraction and customer-support voice model (#1020)
- release_radar_agent/radar.py: _extract_version returned matches[-1], the
  exclusive upper bound of a version range (e.g. '>=1.10.0,<2.0.0' -> '2.0.0'),
  so build_release_candidates saw no delta and suppressed every alert. Use
  matches[0] (the pinned/lower bound). Exact pins/tags give a single match, so
  the 5 shipped unit tests still pass.
- customer_support_voice_agent.py: the Text-to-Speech Agent is invoked via
  Runner.run (chat endpoint) but was built with model='gpt-4o-mini-tts', a
  speech-only model, so every query errored. Use 'gpt-4o' (matching the sibling
  voice_rag_openaisdk app); the real speech call at line 288 keeps gpt-4o-mini-tts.

Fixes #1019

Co-authored-by: thejesh23 <thejesh23@users.noreply.github.com>
2026-07-23 01:12:10 -07:00
Thejesh a06a7eb286 Fix beifong OpenGraph typo and failure-path key mismatch (#1018)
- utils/crawl_url.py: match 'og:' (not 'ogg:') so OpenGraph metadata is
  captured; no page emits property='ogg:...', so metadata['og'] was always {}.
- tools/browser_crawler.py: both failure branches now return 'original_url'
  (snake_case, matching the success path and every caller). Previously a single
  failed URL raised KeyError('original_url') in the caller's dict comprehension
  and lost the whole scrape batch instead of just that URL.

Fixes #1017

Co-authored-by: thejesh23 <thejesh23@users.noreply.github.com>
2026-07-23 01:12:07 -07:00