├── .env.example ├── .gitignore ├── CONTRIBUTING.md ├── DOWNLOAD.md ├── LICENSE.md ├── PROMPTING.md ├── README.md ├── examples ├── 01_intro │ ├── CODE.md │ ├── CONCEPT.md │ └── intro.js ├── 02_openai-intro │ ├── CODE.md │ ├── CONCEPT.md │ └── openai-intro.js ├── 03_translation │ ├── CODE.md │ ├── CONCEPT.md │ └── translation.js ├── 04_think │ ├── CODE.md │ ├── CONCEPT.md │ └── think.js ├── 05_batch │ ├── CODE.md │ ├── CONCEPT.md │ └── batch.js ├── 06_coding │ ├── CODE.md │ ├── CONCEPT.md │ └── coding.js ├── 07_simple-agent │ ├── CODE.md │ ├── CONCEPT.md │ └── simple-agent.js ├── 08_simple-agent-with-memory │ ├── CODE.md │ ├── CONCEPT.md │ ├── agent-memory.json │ ├── memory-manager.js │ └── simple-agent-with-memory.js └── 09_react-agent │ ├── CODE.md │ ├── CONCEPT.md │ └── react-agent.js ├── helper └── prompt-debugger.js ├── logs └── .gitkeep ├── package.json ├── src ├── agents │ ├── agent-executor.js │ ├── base-agent.js │ ├── conversational-agent.js │ ├── index.js │ ├── react-agent.js │ ├── structured-chat-agent.js │ └── tool-calling-agent.js ├── chains │ ├── base-chain.js │ ├── index.js │ ├── llm-chain.js │ ├── map-reduce-chain.js │ ├── router-chain.js │ ├── sequential-chain.js │ └── transform-chain.js ├── core │ ├── context.js │ ├── index.js │ ├── message.js │ ├── runnable-parallel.js │ └── runnable.js ├── graph │ ├── checkpoint.js │ ├── checkpointer │ │ ├── base-checkpointer.js │ │ ├── file-checkpointer.js │ │ ├── index.js │ │ └── memory-checkpointer.js │ ├── compiled-graph.js │ ├── conditional-edge.js │ ├── edge.js │ ├── index.js │ ├── message-graph.js │ ├── node.js │ └── state-graph.js ├── index.js ├── llm │ ├── base-llm.js │ ├── chat-model.js │ ├── index.js │ ├── llama-cpp-llm.js │ └── streaming-llm.js ├── memory │ ├── base-memory.js │ ├── buffer-memory.js │ ├── entity-memory.js │ ├── index.js │ ├── summary-memory.js │ ├── vector-memory.js │ └── window-memory.js ├── output-parsers │ ├── base-parser.js │ ├── index.js │ ├── json-parser.js │ ├── list-parser.js │ ├── regex-parser.js │ ├── string-parser.js │ └── structured-parser.js ├── prompts │ ├── base-prompt-template.js │ ├── chat-prompt-template.js │ ├── few-shot-prompt.js │ ├── index.js │ ├── pipeline-prompt.js │ ├── prompt-template.js │ └── system-message-prompt.js ├── tools │ ├── base-tool.js │ ├── builtin │ │ ├── calculator.js │ │ ├── code-executor.js │ │ ├── file-reader.js │ │ ├── file-writer.js │ │ ├── index.js │ │ ├── web-scraper.js │ │ └── web-search.js │ ├── index.js │ ├── tool-executor.js │ └── tool-registry.js └── utils │ ├── callback-manager.js │ ├── callbacks.js │ ├── index.js │ ├── logger.js │ ├── retry.js │ ├── schema-validator.js │ ├── timeout.js │ └── token-counter.js └── tutorial ├── 01-foundation ├── 01-runnable │ ├── exercises │ │ ├── 01-multiplier-runnable.js │ │ ├── 02-json-parser-runnable.js │ │ ├── 03-pipeline-composition.js │ │ └── 04-batch-processing.js │ ├── lesson.md │ └── solutions │ │ ├── 01-multiplier-runnable-solution.js │ │ ├── 02-json-parser-runnable-solution.js │ │ ├── 03-pipeline-composition-solution.js │ │ └── 04-batch-processing-solution.js ├── 02-messages │ ├── exercises │ │ ├── 05-message-formatter.js │ │ ├── 06-conversation-validator.js │ │ ├── 07-chat-history.js │ │ └── 08-tool-flow.js │ ├── lesson.md │ └── solutions │ │ ├── 05-message-formatter-solution.js │ │ ├── 06-conversation-validator-solution.js │ │ ├── 07-chat-history-solution.js │ │ └── 08-tool-flow-solution.js ├── 03-llm-wrapper │ ├── exercises │ │ ├── 09-basic-llm-wrapper.js │ │ ├── 10-batch-processing.js │ │ ├── 11-streaming.js │ │ └── 12-composition.js │ ├── lesson.md │ └── solutions │ │ ├── 09-basic-llm-wrapper-solution.js │ │ ├── 10-batch-processing-solution.js │ │ ├── 11-streaming-solution.js │ │ └── 12-composition-solution.js └── 04-context │ ├── exercises │ ├── 13-simple-logger.js │ ├── 14-metrics-metadata.js │ ├── 15-config-inheritance.js │ └── 16-runtime-config.js │ ├── lesson.md │ └── solutions │ ├── 13-simple-logger-solution.js │ ├── 14-metrics-metadata-solution.js │ ├── 15-config-inheritance-solution.js │ └── 16-runtime-config-solution.js ├── 02-composition ├── 01-prompts │ ├── exercises │ │ ├── 17-prompt-template.js │ │ ├── 18-chat-prompt-template.js │ │ ├── 19-few-shot-prompt-template.js │ │ └── 20-pipeline-prompt-template.js │ ├── lesson.md │ └── solutions │ │ ├── 17-prompt-template-solution.js │ │ ├── 18-chat-prompt-template-solution.js │ │ ├── 19-few-shot-prompt-template-solution.js │ │ └── 20-pipeline-prompt-template-solution.js └── 02-parsers │ ├── exercises │ ├── 21-review-analyzer.js │ ├── 22-contact-extractor.js │ ├── 23-article-metadata.js │ └── 24-multi-parser-pipeline.js │ ├── lesson.md │ └── solutions │ ├── 21-review-analyzer-solution.js │ ├── 22-contact-extractor-solution.js │ ├── 23-article-metadata-solution.js │ └── 24-multi-parser-pipeline-solution.js ├── README.md └── projects └── 01-smart-email-classifier ├── solution.js ├── starter.js └── test-emails.json /.env.example: -------------------------------------------------------------------------------- 1 | OPENAI_API_KEY=your_api_key_here -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pguso/ai-agents-from-scratch/HEAD/.gitignore -------------------------------------------------------------------------------- /CONTRIBUTING.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pguso/ai-agents-from-scratch/HEAD/CONTRIBUTING.md -------------------------------------------------------------------------------- /DOWNLOAD.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pguso/ai-agents-from-scratch/HEAD/DOWNLOAD.md -------------------------------------------------------------------------------- /LICENSE.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pguso/ai-agents-from-scratch/HEAD/LICENSE.md -------------------------------------------------------------------------------- /PROMPTING.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pguso/ai-agents-from-scratch/HEAD/PROMPTING.md -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pguso/ai-agents-from-scratch/HEAD/README.md -------------------------------------------------------------------------------- /examples/01_intro/CODE.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pguso/ai-agents-from-scratch/HEAD/examples/01_intro/CODE.md -------------------------------------------------------------------------------- /examples/01_intro/CONCEPT.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pguso/ai-agents-from-scratch/HEAD/examples/01_intro/CONCEPT.md -------------------------------------------------------------------------------- /examples/01_intro/intro.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pguso/ai-agents-from-scratch/HEAD/examples/01_intro/intro.js -------------------------------------------------------------------------------- /examples/02_openai-intro/CODE.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pguso/ai-agents-from-scratch/HEAD/examples/02_openai-intro/CODE.md -------------------------------------------------------------------------------- /examples/02_openai-intro/CONCEPT.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pguso/ai-agents-from-scratch/HEAD/examples/02_openai-intro/CONCEPT.md -------------------------------------------------------------------------------- /examples/02_openai-intro/openai-intro.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pguso/ai-agents-from-scratch/HEAD/examples/02_openai-intro/openai-intro.js -------------------------------------------------------------------------------- /examples/03_translation/CODE.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pguso/ai-agents-from-scratch/HEAD/examples/03_translation/CODE.md -------------------------------------------------------------------------------- /examples/03_translation/CONCEPT.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pguso/ai-agents-from-scratch/HEAD/examples/03_translation/CONCEPT.md -------------------------------------------------------------------------------- /examples/03_translation/translation.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pguso/ai-agents-from-scratch/HEAD/examples/03_translation/translation.js -------------------------------------------------------------------------------- /examples/04_think/CODE.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pguso/ai-agents-from-scratch/HEAD/examples/04_think/CODE.md -------------------------------------------------------------------------------- /examples/04_think/CONCEPT.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pguso/ai-agents-from-scratch/HEAD/examples/04_think/CONCEPT.md -------------------------------------------------------------------------------- /examples/04_think/think.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pguso/ai-agents-from-scratch/HEAD/examples/04_think/think.js -------------------------------------------------------------------------------- /examples/05_batch/CODE.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pguso/ai-agents-from-scratch/HEAD/examples/05_batch/CODE.md -------------------------------------------------------------------------------- /examples/05_batch/CONCEPT.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pguso/ai-agents-from-scratch/HEAD/examples/05_batch/CONCEPT.md -------------------------------------------------------------------------------- /examples/05_batch/batch.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pguso/ai-agents-from-scratch/HEAD/examples/05_batch/batch.js -------------------------------------------------------------------------------- /examples/06_coding/CODE.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pguso/ai-agents-from-scratch/HEAD/examples/06_coding/CODE.md -------------------------------------------------------------------------------- /examples/06_coding/CONCEPT.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pguso/ai-agents-from-scratch/HEAD/examples/06_coding/CONCEPT.md -------------------------------------------------------------------------------- /examples/06_coding/coding.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pguso/ai-agents-from-scratch/HEAD/examples/06_coding/coding.js -------------------------------------------------------------------------------- /examples/07_simple-agent/CODE.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pguso/ai-agents-from-scratch/HEAD/examples/07_simple-agent/CODE.md -------------------------------------------------------------------------------- /examples/07_simple-agent/CONCEPT.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pguso/ai-agents-from-scratch/HEAD/examples/07_simple-agent/CONCEPT.md -------------------------------------------------------------------------------- /examples/07_simple-agent/simple-agent.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pguso/ai-agents-from-scratch/HEAD/examples/07_simple-agent/simple-agent.js -------------------------------------------------------------------------------- /examples/08_simple-agent-with-memory/CODE.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pguso/ai-agents-from-scratch/HEAD/examples/08_simple-agent-with-memory/CODE.md -------------------------------------------------------------------------------- /examples/08_simple-agent-with-memory/CONCEPT.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pguso/ai-agents-from-scratch/HEAD/examples/08_simple-agent-with-memory/CONCEPT.md -------------------------------------------------------------------------------- /examples/08_simple-agent-with-memory/agent-memory.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pguso/ai-agents-from-scratch/HEAD/examples/08_simple-agent-with-memory/agent-memory.json -------------------------------------------------------------------------------- /examples/08_simple-agent-with-memory/memory-manager.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pguso/ai-agents-from-scratch/HEAD/examples/08_simple-agent-with-memory/memory-manager.js -------------------------------------------------------------------------------- /examples/08_simple-agent-with-memory/simple-agent-with-memory.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pguso/ai-agents-from-scratch/HEAD/examples/08_simple-agent-with-memory/simple-agent-with-memory.js -------------------------------------------------------------------------------- /examples/09_react-agent/CODE.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pguso/ai-agents-from-scratch/HEAD/examples/09_react-agent/CODE.md -------------------------------------------------------------------------------- /examples/09_react-agent/CONCEPT.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pguso/ai-agents-from-scratch/HEAD/examples/09_react-agent/CONCEPT.md -------------------------------------------------------------------------------- /examples/09_react-agent/react-agent.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pguso/ai-agents-from-scratch/HEAD/examples/09_react-agent/react-agent.js -------------------------------------------------------------------------------- /helper/prompt-debugger.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pguso/ai-agents-from-scratch/HEAD/helper/prompt-debugger.js -------------------------------------------------------------------------------- /logs/.gitkeep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pguso/ai-agents-from-scratch/HEAD/package.json -------------------------------------------------------------------------------- /src/agents/agent-executor.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pguso/ai-agents-from-scratch/HEAD/src/agents/agent-executor.js -------------------------------------------------------------------------------- /src/agents/base-agent.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pguso/ai-agents-from-scratch/HEAD/src/agents/base-agent.js -------------------------------------------------------------------------------- /src/agents/conversational-agent.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pguso/ai-agents-from-scratch/HEAD/src/agents/conversational-agent.js -------------------------------------------------------------------------------- /src/agents/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pguso/ai-agents-from-scratch/HEAD/src/agents/index.js -------------------------------------------------------------------------------- /src/agents/react-agent.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pguso/ai-agents-from-scratch/HEAD/src/agents/react-agent.js -------------------------------------------------------------------------------- /src/agents/structured-chat-agent.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pguso/ai-agents-from-scratch/HEAD/src/agents/structured-chat-agent.js -------------------------------------------------------------------------------- /src/agents/tool-calling-agent.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pguso/ai-agents-from-scratch/HEAD/src/agents/tool-calling-agent.js -------------------------------------------------------------------------------- /src/chains/base-chain.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pguso/ai-agents-from-scratch/HEAD/src/chains/base-chain.js -------------------------------------------------------------------------------- /src/chains/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pguso/ai-agents-from-scratch/HEAD/src/chains/index.js -------------------------------------------------------------------------------- /src/chains/llm-chain.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pguso/ai-agents-from-scratch/HEAD/src/chains/llm-chain.js -------------------------------------------------------------------------------- /src/chains/map-reduce-chain.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pguso/ai-agents-from-scratch/HEAD/src/chains/map-reduce-chain.js -------------------------------------------------------------------------------- /src/chains/router-chain.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pguso/ai-agents-from-scratch/HEAD/src/chains/router-chain.js -------------------------------------------------------------------------------- /src/chains/sequential-chain.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pguso/ai-agents-from-scratch/HEAD/src/chains/sequential-chain.js -------------------------------------------------------------------------------- /src/chains/transform-chain.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pguso/ai-agents-from-scratch/HEAD/src/chains/transform-chain.js -------------------------------------------------------------------------------- /src/core/context.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pguso/ai-agents-from-scratch/HEAD/src/core/context.js -------------------------------------------------------------------------------- /src/core/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pguso/ai-agents-from-scratch/HEAD/src/core/index.js -------------------------------------------------------------------------------- /src/core/message.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pguso/ai-agents-from-scratch/HEAD/src/core/message.js -------------------------------------------------------------------------------- /src/core/runnable-parallel.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pguso/ai-agents-from-scratch/HEAD/src/core/runnable-parallel.js -------------------------------------------------------------------------------- /src/core/runnable.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pguso/ai-agents-from-scratch/HEAD/src/core/runnable.js -------------------------------------------------------------------------------- /src/graph/checkpoint.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pguso/ai-agents-from-scratch/HEAD/src/graph/checkpoint.js -------------------------------------------------------------------------------- /src/graph/checkpointer/base-checkpointer.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pguso/ai-agents-from-scratch/HEAD/src/graph/checkpointer/base-checkpointer.js -------------------------------------------------------------------------------- /src/graph/checkpointer/file-checkpointer.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pguso/ai-agents-from-scratch/HEAD/src/graph/checkpointer/file-checkpointer.js -------------------------------------------------------------------------------- /src/graph/checkpointer/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pguso/ai-agents-from-scratch/HEAD/src/graph/checkpointer/index.js -------------------------------------------------------------------------------- /src/graph/checkpointer/memory-checkpointer.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pguso/ai-agents-from-scratch/HEAD/src/graph/checkpointer/memory-checkpointer.js -------------------------------------------------------------------------------- /src/graph/compiled-graph.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pguso/ai-agents-from-scratch/HEAD/src/graph/compiled-graph.js -------------------------------------------------------------------------------- /src/graph/conditional-edge.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pguso/ai-agents-from-scratch/HEAD/src/graph/conditional-edge.js -------------------------------------------------------------------------------- /src/graph/edge.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pguso/ai-agents-from-scratch/HEAD/src/graph/edge.js -------------------------------------------------------------------------------- /src/graph/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pguso/ai-agents-from-scratch/HEAD/src/graph/index.js -------------------------------------------------------------------------------- /src/graph/message-graph.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pguso/ai-agents-from-scratch/HEAD/src/graph/message-graph.js -------------------------------------------------------------------------------- /src/graph/node.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pguso/ai-agents-from-scratch/HEAD/src/graph/node.js -------------------------------------------------------------------------------- /src/graph/state-graph.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pguso/ai-agents-from-scratch/HEAD/src/graph/state-graph.js -------------------------------------------------------------------------------- /src/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pguso/ai-agents-from-scratch/HEAD/src/index.js -------------------------------------------------------------------------------- /src/llm/base-llm.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pguso/ai-agents-from-scratch/HEAD/src/llm/base-llm.js -------------------------------------------------------------------------------- /src/llm/chat-model.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pguso/ai-agents-from-scratch/HEAD/src/llm/chat-model.js -------------------------------------------------------------------------------- /src/llm/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pguso/ai-agents-from-scratch/HEAD/src/llm/index.js -------------------------------------------------------------------------------- /src/llm/llama-cpp-llm.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pguso/ai-agents-from-scratch/HEAD/src/llm/llama-cpp-llm.js -------------------------------------------------------------------------------- /src/llm/streaming-llm.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pguso/ai-agents-from-scratch/HEAD/src/llm/streaming-llm.js -------------------------------------------------------------------------------- /src/memory/base-memory.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pguso/ai-agents-from-scratch/HEAD/src/memory/base-memory.js -------------------------------------------------------------------------------- /src/memory/buffer-memory.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pguso/ai-agents-from-scratch/HEAD/src/memory/buffer-memory.js -------------------------------------------------------------------------------- /src/memory/entity-memory.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pguso/ai-agents-from-scratch/HEAD/src/memory/entity-memory.js -------------------------------------------------------------------------------- /src/memory/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pguso/ai-agents-from-scratch/HEAD/src/memory/index.js -------------------------------------------------------------------------------- /src/memory/summary-memory.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pguso/ai-agents-from-scratch/HEAD/src/memory/summary-memory.js -------------------------------------------------------------------------------- /src/memory/vector-memory.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pguso/ai-agents-from-scratch/HEAD/src/memory/vector-memory.js -------------------------------------------------------------------------------- /src/memory/window-memory.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pguso/ai-agents-from-scratch/HEAD/src/memory/window-memory.js -------------------------------------------------------------------------------- /src/output-parsers/base-parser.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pguso/ai-agents-from-scratch/HEAD/src/output-parsers/base-parser.js -------------------------------------------------------------------------------- /src/output-parsers/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pguso/ai-agents-from-scratch/HEAD/src/output-parsers/index.js -------------------------------------------------------------------------------- /src/output-parsers/json-parser.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pguso/ai-agents-from-scratch/HEAD/src/output-parsers/json-parser.js -------------------------------------------------------------------------------- /src/output-parsers/list-parser.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pguso/ai-agents-from-scratch/HEAD/src/output-parsers/list-parser.js -------------------------------------------------------------------------------- /src/output-parsers/regex-parser.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pguso/ai-agents-from-scratch/HEAD/src/output-parsers/regex-parser.js -------------------------------------------------------------------------------- /src/output-parsers/string-parser.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pguso/ai-agents-from-scratch/HEAD/src/output-parsers/string-parser.js -------------------------------------------------------------------------------- /src/output-parsers/structured-parser.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pguso/ai-agents-from-scratch/HEAD/src/output-parsers/structured-parser.js -------------------------------------------------------------------------------- /src/prompts/base-prompt-template.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pguso/ai-agents-from-scratch/HEAD/src/prompts/base-prompt-template.js -------------------------------------------------------------------------------- /src/prompts/chat-prompt-template.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pguso/ai-agents-from-scratch/HEAD/src/prompts/chat-prompt-template.js -------------------------------------------------------------------------------- /src/prompts/few-shot-prompt.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pguso/ai-agents-from-scratch/HEAD/src/prompts/few-shot-prompt.js -------------------------------------------------------------------------------- /src/prompts/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pguso/ai-agents-from-scratch/HEAD/src/prompts/index.js -------------------------------------------------------------------------------- /src/prompts/pipeline-prompt.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pguso/ai-agents-from-scratch/HEAD/src/prompts/pipeline-prompt.js -------------------------------------------------------------------------------- /src/prompts/prompt-template.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pguso/ai-agents-from-scratch/HEAD/src/prompts/prompt-template.js -------------------------------------------------------------------------------- /src/prompts/system-message-prompt.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pguso/ai-agents-from-scratch/HEAD/src/prompts/system-message-prompt.js -------------------------------------------------------------------------------- /src/tools/base-tool.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pguso/ai-agents-from-scratch/HEAD/src/tools/base-tool.js -------------------------------------------------------------------------------- /src/tools/builtin/calculator.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pguso/ai-agents-from-scratch/HEAD/src/tools/builtin/calculator.js -------------------------------------------------------------------------------- /src/tools/builtin/code-executor.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pguso/ai-agents-from-scratch/HEAD/src/tools/builtin/code-executor.js -------------------------------------------------------------------------------- /src/tools/builtin/file-reader.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pguso/ai-agents-from-scratch/HEAD/src/tools/builtin/file-reader.js -------------------------------------------------------------------------------- /src/tools/builtin/file-writer.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pguso/ai-agents-from-scratch/HEAD/src/tools/builtin/file-writer.js -------------------------------------------------------------------------------- /src/tools/builtin/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pguso/ai-agents-from-scratch/HEAD/src/tools/builtin/index.js -------------------------------------------------------------------------------- /src/tools/builtin/web-scraper.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pguso/ai-agents-from-scratch/HEAD/src/tools/builtin/web-scraper.js -------------------------------------------------------------------------------- /src/tools/builtin/web-search.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pguso/ai-agents-from-scratch/HEAD/src/tools/builtin/web-search.js -------------------------------------------------------------------------------- /src/tools/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pguso/ai-agents-from-scratch/HEAD/src/tools/index.js -------------------------------------------------------------------------------- /src/tools/tool-executor.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pguso/ai-agents-from-scratch/HEAD/src/tools/tool-executor.js -------------------------------------------------------------------------------- /src/tools/tool-registry.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pguso/ai-agents-from-scratch/HEAD/src/tools/tool-registry.js -------------------------------------------------------------------------------- /src/utils/callback-manager.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pguso/ai-agents-from-scratch/HEAD/src/utils/callback-manager.js -------------------------------------------------------------------------------- /src/utils/callbacks.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pguso/ai-agents-from-scratch/HEAD/src/utils/callbacks.js -------------------------------------------------------------------------------- /src/utils/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pguso/ai-agents-from-scratch/HEAD/src/utils/index.js -------------------------------------------------------------------------------- /src/utils/logger.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pguso/ai-agents-from-scratch/HEAD/src/utils/logger.js -------------------------------------------------------------------------------- /src/utils/retry.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pguso/ai-agents-from-scratch/HEAD/src/utils/retry.js -------------------------------------------------------------------------------- /src/utils/schema-validator.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pguso/ai-agents-from-scratch/HEAD/src/utils/schema-validator.js -------------------------------------------------------------------------------- /src/utils/timeout.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pguso/ai-agents-from-scratch/HEAD/src/utils/timeout.js -------------------------------------------------------------------------------- /src/utils/token-counter.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pguso/ai-agents-from-scratch/HEAD/src/utils/token-counter.js -------------------------------------------------------------------------------- /tutorial/01-foundation/01-runnable/exercises/01-multiplier-runnable.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pguso/ai-agents-from-scratch/HEAD/tutorial/01-foundation/01-runnable/exercises/01-multiplier-runnable.js -------------------------------------------------------------------------------- /tutorial/01-foundation/01-runnable/exercises/02-json-parser-runnable.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pguso/ai-agents-from-scratch/HEAD/tutorial/01-foundation/01-runnable/exercises/02-json-parser-runnable.js -------------------------------------------------------------------------------- /tutorial/01-foundation/01-runnable/exercises/03-pipeline-composition.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pguso/ai-agents-from-scratch/HEAD/tutorial/01-foundation/01-runnable/exercises/03-pipeline-composition.js -------------------------------------------------------------------------------- /tutorial/01-foundation/01-runnable/exercises/04-batch-processing.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pguso/ai-agents-from-scratch/HEAD/tutorial/01-foundation/01-runnable/exercises/04-batch-processing.js -------------------------------------------------------------------------------- /tutorial/01-foundation/01-runnable/lesson.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pguso/ai-agents-from-scratch/HEAD/tutorial/01-foundation/01-runnable/lesson.md -------------------------------------------------------------------------------- /tutorial/01-foundation/01-runnable/solutions/01-multiplier-runnable-solution.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pguso/ai-agents-from-scratch/HEAD/tutorial/01-foundation/01-runnable/solutions/01-multiplier-runnable-solution.js -------------------------------------------------------------------------------- /tutorial/01-foundation/01-runnable/solutions/02-json-parser-runnable-solution.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pguso/ai-agents-from-scratch/HEAD/tutorial/01-foundation/01-runnable/solutions/02-json-parser-runnable-solution.js -------------------------------------------------------------------------------- /tutorial/01-foundation/01-runnable/solutions/03-pipeline-composition-solution.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pguso/ai-agents-from-scratch/HEAD/tutorial/01-foundation/01-runnable/solutions/03-pipeline-composition-solution.js -------------------------------------------------------------------------------- /tutorial/01-foundation/01-runnable/solutions/04-batch-processing-solution.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pguso/ai-agents-from-scratch/HEAD/tutorial/01-foundation/01-runnable/solutions/04-batch-processing-solution.js -------------------------------------------------------------------------------- /tutorial/01-foundation/02-messages/exercises/05-message-formatter.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pguso/ai-agents-from-scratch/HEAD/tutorial/01-foundation/02-messages/exercises/05-message-formatter.js -------------------------------------------------------------------------------- /tutorial/01-foundation/02-messages/exercises/06-conversation-validator.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pguso/ai-agents-from-scratch/HEAD/tutorial/01-foundation/02-messages/exercises/06-conversation-validator.js -------------------------------------------------------------------------------- /tutorial/01-foundation/02-messages/exercises/07-chat-history.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pguso/ai-agents-from-scratch/HEAD/tutorial/01-foundation/02-messages/exercises/07-chat-history.js -------------------------------------------------------------------------------- /tutorial/01-foundation/02-messages/exercises/08-tool-flow.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pguso/ai-agents-from-scratch/HEAD/tutorial/01-foundation/02-messages/exercises/08-tool-flow.js -------------------------------------------------------------------------------- /tutorial/01-foundation/02-messages/lesson.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pguso/ai-agents-from-scratch/HEAD/tutorial/01-foundation/02-messages/lesson.md -------------------------------------------------------------------------------- /tutorial/01-foundation/02-messages/solutions/05-message-formatter-solution.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pguso/ai-agents-from-scratch/HEAD/tutorial/01-foundation/02-messages/solutions/05-message-formatter-solution.js -------------------------------------------------------------------------------- /tutorial/01-foundation/02-messages/solutions/06-conversation-validator-solution.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pguso/ai-agents-from-scratch/HEAD/tutorial/01-foundation/02-messages/solutions/06-conversation-validator-solution.js -------------------------------------------------------------------------------- /tutorial/01-foundation/02-messages/solutions/07-chat-history-solution.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pguso/ai-agents-from-scratch/HEAD/tutorial/01-foundation/02-messages/solutions/07-chat-history-solution.js -------------------------------------------------------------------------------- /tutorial/01-foundation/02-messages/solutions/08-tool-flow-solution.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pguso/ai-agents-from-scratch/HEAD/tutorial/01-foundation/02-messages/solutions/08-tool-flow-solution.js -------------------------------------------------------------------------------- /tutorial/01-foundation/03-llm-wrapper/exercises/09-basic-llm-wrapper.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pguso/ai-agents-from-scratch/HEAD/tutorial/01-foundation/03-llm-wrapper/exercises/09-basic-llm-wrapper.js -------------------------------------------------------------------------------- /tutorial/01-foundation/03-llm-wrapper/exercises/10-batch-processing.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pguso/ai-agents-from-scratch/HEAD/tutorial/01-foundation/03-llm-wrapper/exercises/10-batch-processing.js -------------------------------------------------------------------------------- /tutorial/01-foundation/03-llm-wrapper/exercises/11-streaming.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pguso/ai-agents-from-scratch/HEAD/tutorial/01-foundation/03-llm-wrapper/exercises/11-streaming.js -------------------------------------------------------------------------------- /tutorial/01-foundation/03-llm-wrapper/exercises/12-composition.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pguso/ai-agents-from-scratch/HEAD/tutorial/01-foundation/03-llm-wrapper/exercises/12-composition.js -------------------------------------------------------------------------------- /tutorial/01-foundation/03-llm-wrapper/lesson.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pguso/ai-agents-from-scratch/HEAD/tutorial/01-foundation/03-llm-wrapper/lesson.md -------------------------------------------------------------------------------- /tutorial/01-foundation/03-llm-wrapper/solutions/09-basic-llm-wrapper-solution.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pguso/ai-agents-from-scratch/HEAD/tutorial/01-foundation/03-llm-wrapper/solutions/09-basic-llm-wrapper-solution.js -------------------------------------------------------------------------------- /tutorial/01-foundation/03-llm-wrapper/solutions/10-batch-processing-solution.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pguso/ai-agents-from-scratch/HEAD/tutorial/01-foundation/03-llm-wrapper/solutions/10-batch-processing-solution.js -------------------------------------------------------------------------------- /tutorial/01-foundation/03-llm-wrapper/solutions/11-streaming-solution.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pguso/ai-agents-from-scratch/HEAD/tutorial/01-foundation/03-llm-wrapper/solutions/11-streaming-solution.js -------------------------------------------------------------------------------- /tutorial/01-foundation/03-llm-wrapper/solutions/12-composition-solution.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pguso/ai-agents-from-scratch/HEAD/tutorial/01-foundation/03-llm-wrapper/solutions/12-composition-solution.js -------------------------------------------------------------------------------- /tutorial/01-foundation/04-context/exercises/13-simple-logger.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pguso/ai-agents-from-scratch/HEAD/tutorial/01-foundation/04-context/exercises/13-simple-logger.js -------------------------------------------------------------------------------- /tutorial/01-foundation/04-context/exercises/14-metrics-metadata.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pguso/ai-agents-from-scratch/HEAD/tutorial/01-foundation/04-context/exercises/14-metrics-metadata.js -------------------------------------------------------------------------------- /tutorial/01-foundation/04-context/exercises/15-config-inheritance.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pguso/ai-agents-from-scratch/HEAD/tutorial/01-foundation/04-context/exercises/15-config-inheritance.js -------------------------------------------------------------------------------- /tutorial/01-foundation/04-context/exercises/16-runtime-config.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pguso/ai-agents-from-scratch/HEAD/tutorial/01-foundation/04-context/exercises/16-runtime-config.js -------------------------------------------------------------------------------- /tutorial/01-foundation/04-context/lesson.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pguso/ai-agents-from-scratch/HEAD/tutorial/01-foundation/04-context/lesson.md -------------------------------------------------------------------------------- /tutorial/01-foundation/04-context/solutions/13-simple-logger-solution.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pguso/ai-agents-from-scratch/HEAD/tutorial/01-foundation/04-context/solutions/13-simple-logger-solution.js -------------------------------------------------------------------------------- /tutorial/01-foundation/04-context/solutions/14-metrics-metadata-solution.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pguso/ai-agents-from-scratch/HEAD/tutorial/01-foundation/04-context/solutions/14-metrics-metadata-solution.js -------------------------------------------------------------------------------- /tutorial/01-foundation/04-context/solutions/15-config-inheritance-solution.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pguso/ai-agents-from-scratch/HEAD/tutorial/01-foundation/04-context/solutions/15-config-inheritance-solution.js -------------------------------------------------------------------------------- /tutorial/01-foundation/04-context/solutions/16-runtime-config-solution.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pguso/ai-agents-from-scratch/HEAD/tutorial/01-foundation/04-context/solutions/16-runtime-config-solution.js -------------------------------------------------------------------------------- /tutorial/02-composition/01-prompts/exercises/17-prompt-template.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pguso/ai-agents-from-scratch/HEAD/tutorial/02-composition/01-prompts/exercises/17-prompt-template.js -------------------------------------------------------------------------------- /tutorial/02-composition/01-prompts/exercises/18-chat-prompt-template.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pguso/ai-agents-from-scratch/HEAD/tutorial/02-composition/01-prompts/exercises/18-chat-prompt-template.js -------------------------------------------------------------------------------- /tutorial/02-composition/01-prompts/exercises/19-few-shot-prompt-template.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pguso/ai-agents-from-scratch/HEAD/tutorial/02-composition/01-prompts/exercises/19-few-shot-prompt-template.js -------------------------------------------------------------------------------- /tutorial/02-composition/01-prompts/exercises/20-pipeline-prompt-template.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pguso/ai-agents-from-scratch/HEAD/tutorial/02-composition/01-prompts/exercises/20-pipeline-prompt-template.js -------------------------------------------------------------------------------- /tutorial/02-composition/01-prompts/lesson.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pguso/ai-agents-from-scratch/HEAD/tutorial/02-composition/01-prompts/lesson.md -------------------------------------------------------------------------------- /tutorial/02-composition/01-prompts/solutions/17-prompt-template-solution.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pguso/ai-agents-from-scratch/HEAD/tutorial/02-composition/01-prompts/solutions/17-prompt-template-solution.js -------------------------------------------------------------------------------- /tutorial/02-composition/01-prompts/solutions/18-chat-prompt-template-solution.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pguso/ai-agents-from-scratch/HEAD/tutorial/02-composition/01-prompts/solutions/18-chat-prompt-template-solution.js -------------------------------------------------------------------------------- /tutorial/02-composition/01-prompts/solutions/19-few-shot-prompt-template-solution.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pguso/ai-agents-from-scratch/HEAD/tutorial/02-composition/01-prompts/solutions/19-few-shot-prompt-template-solution.js -------------------------------------------------------------------------------- /tutorial/02-composition/01-prompts/solutions/20-pipeline-prompt-template-solution.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pguso/ai-agents-from-scratch/HEAD/tutorial/02-composition/01-prompts/solutions/20-pipeline-prompt-template-solution.js -------------------------------------------------------------------------------- /tutorial/02-composition/02-parsers/exercises/21-review-analyzer.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pguso/ai-agents-from-scratch/HEAD/tutorial/02-composition/02-parsers/exercises/21-review-analyzer.js -------------------------------------------------------------------------------- /tutorial/02-composition/02-parsers/exercises/22-contact-extractor.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pguso/ai-agents-from-scratch/HEAD/tutorial/02-composition/02-parsers/exercises/22-contact-extractor.js -------------------------------------------------------------------------------- /tutorial/02-composition/02-parsers/exercises/23-article-metadata.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pguso/ai-agents-from-scratch/HEAD/tutorial/02-composition/02-parsers/exercises/23-article-metadata.js -------------------------------------------------------------------------------- /tutorial/02-composition/02-parsers/exercises/24-multi-parser-pipeline.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pguso/ai-agents-from-scratch/HEAD/tutorial/02-composition/02-parsers/exercises/24-multi-parser-pipeline.js -------------------------------------------------------------------------------- /tutorial/02-composition/02-parsers/lesson.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pguso/ai-agents-from-scratch/HEAD/tutorial/02-composition/02-parsers/lesson.md -------------------------------------------------------------------------------- /tutorial/02-composition/02-parsers/solutions/21-review-analyzer-solution.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pguso/ai-agents-from-scratch/HEAD/tutorial/02-composition/02-parsers/solutions/21-review-analyzer-solution.js -------------------------------------------------------------------------------- /tutorial/02-composition/02-parsers/solutions/22-contact-extractor-solution.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pguso/ai-agents-from-scratch/HEAD/tutorial/02-composition/02-parsers/solutions/22-contact-extractor-solution.js -------------------------------------------------------------------------------- /tutorial/02-composition/02-parsers/solutions/23-article-metadata-solution.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pguso/ai-agents-from-scratch/HEAD/tutorial/02-composition/02-parsers/solutions/23-article-metadata-solution.js -------------------------------------------------------------------------------- /tutorial/02-composition/02-parsers/solutions/24-multi-parser-pipeline-solution.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pguso/ai-agents-from-scratch/HEAD/tutorial/02-composition/02-parsers/solutions/24-multi-parser-pipeline-solution.js -------------------------------------------------------------------------------- /tutorial/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pguso/ai-agents-from-scratch/HEAD/tutorial/README.md -------------------------------------------------------------------------------- /tutorial/projects/01-smart-email-classifier/solution.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pguso/ai-agents-from-scratch/HEAD/tutorial/projects/01-smart-email-classifier/solution.js -------------------------------------------------------------------------------- /tutorial/projects/01-smart-email-classifier/starter.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pguso/ai-agents-from-scratch/HEAD/tutorial/projects/01-smart-email-classifier/starter.js -------------------------------------------------------------------------------- /tutorial/projects/01-smart-email-classifier/test-emails.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pguso/ai-agents-from-scratch/HEAD/tutorial/projects/01-smart-email-classifier/test-emails.json --------------------------------------------------------------------------------