यह प्रोजेक्ट एक adapter लाइब्रेरी है जो उपयोगकर्ता के कंप्यूटर पर पहले से इंस्टॉल किए गए कई coding agents (Claude Code, Codex, Cursor, GitHub Copilot, Gemini CLI, OpenCode, Factory Droid, Pi) को child process के रूप में चलाकर, उन्हें Vercel AI SDK के LanguageModelV3 interface के पीछे छिपा देती है। संचार के लिए यह खुले विनिर्देशन Agent Client Protocol(ACP) को ज्यों का त्यों अपनाता है, और standard input/output पर NDJSON के जरिए JSON-RPC संदेशों का आदान-प्रदान करता है। यह pnpm monorepo संरचना पर बना है, और मुख्य लाइब्रेरी के साथ deterministic ACP fixtures तथा WebSocket bridge वाले demo·test environment को अलग workspace में विभाजित किया गया है.

  • interoperability डिज़ाइन: अपना अलग protocol बनाने के बजाय ACP standard को सीधे उपयोग करता है। Cursor, Copilot, Gemini, OpenCode, Droid, Pi जैसे CLI जो सीधे ACP बोलते हैं, वे सीधे जुड़ जाते हैं, और Claude Code व Codex अपने-अपने conversion packages के जरिए उसी interface में समाहित किए जाते हैं। विनिर्देशन में न होने वाले custom ACP implementations को user-defined adapter के रूप में जोड़ा जा सकता है।
  • AI SDK integration तरीका: हर call पर नया child process शुरू करने वाला one-shot mode और, एक बार शुरू किए गए child process व ACP session को बनाए रखकर अगली call तक conversation memory सुरक्षित रखने वाला session mode—दोनों को एक ही model interface के रूप में expose किया जाता है। session object AsyncDisposable लागू करता है, इसलिए await using syntax से resource cleanup अनिवार्य किया जा सकता है, जिससे multi-turn conversation में भी बिना leak के बंद होने वाला flow सुनिश्चित होता है।
  • child process संचालन नीति: standard error में केवल निश्चित आकार का अंतिम हिस्सा सुरक्षित रखा जाता है ताकि abnormal termination होने पर diagnosis में उपयोग हो सके, और standard output में निकलने वाली non-NDJSON lines को noise के रूप में अलग करके standard error channel में भेज दिया जाता है। shutdown चरण में पहले SIGTERM भेजा जाता है और default 2 सेकंड की मोहलत के बाद SIGKILL भेजा जाता है। यदि process पहले ही समाप्त हो चुका हो और तब input देने की कोशिश की जाए, तो उसे अलग error के रूप में वर्गीकृत किया जाता है। इसमें default 3 मिनट का inactivity watchdog, authentication failure और usage limit exceeded के लिए text pattern recognition, तथा ACP द्वारा परिभाषित authentication required·method not found response codes की mapping भी शामिल है।
  • permissions और capability negotiation: permission policy में auto-allow, auto-allow-once, auto-reject, stream—ये चार presets हैं, और साथ ही ऐसा function form भी स्वीकार है जो permission request लेकर सीधे response तैयार करे। filesystem, terminal, अतिरिक्त working directory जैसी optional features को ACP capabilities के रूप में तभी advertise किया जाता है जब host उनके handlers दे; इससे permission surface सीमित रहता है। यदि कोई non-advertised feature call की जाए या capabilities के अनुरूप न होने वाला prompt content आए, तो दोनों स्थितियों को अलग-अलग प्रकार की errors के साथ reject किया जाता है।
  • error classification प्रणाली: 16 प्रकार की errors को एक ही upper class के तहत hierarchical रूप से व्यवस्थित किया गया है, और tag field से इनके प्रकार पहचाने जा सकते हैं, जिससे caller side पर retry policy को branch करना आसान हो जाता है। abnormal termination error में exit code·signal के साथ standard error का अंतिम हिस्सा message में शामिल किया जाता है, ताकि बाद की diagnosis आसान हो।
  • test संरचना: initialization, permissions, cancellation, concurrent sessions, wire fuzz, authentication retry, watchdog, standard error fatal signal detection, external SDK upgrade compatibility आदि 27 क्षेत्रों को अलग-अलग test files में विभाजित कर कवर किया गया है। mock agent module को लाइब्रेरी के अलग entry point के रूप में expose किया गया है, ताकि consuming code भी वही deterministic fixtures इस्तेमाल कर सके। demo environment का echo agent इस तरह बनाया गया है कि भारी LLM CLI के बिना भी पूरे communication pipeline को वास्तविक child process के साथ सत्यापित किया जा सके।
  • वर्तमान चरण: root और packages—दोनों में version 0.0.1 है, और हाल की commits में भी यही version दोहराया गया है, इसलिए यह npm पर public release से ठीक पहले की polishing stage जैसा दिखता है। यह peer के रूप में ai@^6.0.0 पर निर्भर है, और Node 22 या उससे ऊपर तथा pnpm 8 या उससे ऊपर की आवश्यकता रखता है।

संक्षेप में, spawn-agent कोई नया agent framework नहीं है, बल्कि पहले से स्थापित ACP standard और बिखरे हुए coding CLI assets के ऊपर operational policies की मजबूत परत चढ़ाने वाला practical adapter है। permission gate, inactivity watchdog, shutdown grace period, capability negotiation, और tag-based error classification जैसी चीज़ें एक ही जगह समेटी गई हैं, और AI SDK उपयोगकर्ताओं के लिए परिचित model interface के जरिए इन्हें expose किया गया है—यही इसका व्यावहारिक मूल्य लगता है।

अभी कोई टिप्पणी नहीं है.

अभी कोई टिप्पणी नहीं है.