[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"project-81588":3},{"id":4,"name":5,"fullName":6,"owner":7,"repo":5,"description":8,"homepage":9,"htmlUrl":9,"language":10,"languages":9,"totalLinesOfCode":9,"stars":11,"forks":12,"watchers":13,"openIssues":14,"contributorsCount":14,"subscribersCount":14,"size":14,"stars1d":15,"stars7d":16,"stars30d":17,"stars90d":14,"forks30d":14,"starsTrendScore":18,"compositeScore":19,"rankGlobal":9,"rankLanguage":9,"license":20,"archived":21,"fork":21,"defaultBranch":22,"hasWiki":21,"hasPages":21,"topics":23,"createdAt":9,"pushedAt":9,"updatedAt":24,"readmeContent":25,"aiSummary":26,"trendingCount":14,"starSnapshotCount":14,"syncStatus":15,"lastSyncTime":27,"discoverSource":28},81588,"skawld-sdk","skawld\u002Fskawld-sdk","skawld","Skawld Agent Core & SDK",null,"TypeScript",288,18,3,0,2,6,270,7,60.84,"MIT License",false,"main",[],"2026-06-12 04:01:34","# Skawld Agent SDK\n\nAn open-source all-purpose TypeScript agent harness.\nEmbed a full agent loop — tools, sessions, permissions, streaming events, subagents — into any Node.js or Bun application with a single import.\n\nRuns on **Node.js 18+** and **Bun 1.1+**. ESM-only.\n\n**Full documentation:** [https:\u002F\u002Fskawld.com\u002Fdocs](https:\u002F\u002Fskawld.com\u002Fdocs)\n\n```sh\n# pick your package manager\n# Bun is reccomended\nbun add @skawld\u002Fagent-sdk\n# npm is also supported\nnpm install @skawld\u002Fagent-sdk\npnpm add @skawld\u002Fagent-sdk\nyarn add @skawld\u002Fagent-sdk\n```\n\n---\n\n## Minimal usage\n\n```ts\nimport { Agent } from \"@skawld\u002Fagent-sdk\";\nimport { AnthropicProvider } from \"@skawld\u002Fagent-sdk\u002Fproviders\";\nimport { defaultTools } from \"@skawld\u002Fagent-sdk\u002Ftools\";\n\nconst agent = new Agent({\n  provider: new AnthropicProvider(),   \u002F\u002F reads ANTHROPIC_API_KEY from env\n  model: \"claude-opus-4-5\",\n  tools: defaultTools(),\n  permissions: { mode: \"default\" },\n});\n\nconst session = await agent.session();\n\nfor await (const event of session.run(\"List the files in the current directory.\")) {\n  if (event.type === \"assistant\") {\n    for (const block of event.message.content) {\n      if (block.type === \"text\") process.stdout.write(block.text);\n    }\n  }\n  if (event.type === \"result\") break;\n}\n\nawait agent.close();\n```\n\nSee [`examples\u002Fminimal-agent.ts`](.\u002Fexamples\u002Fminimal-agent.ts) for a complete runnable version.\n\n---\n\n## Interactive CLI example\n\n[`examples\u002Finteractive-cli.ts`](.\u002Fexamples\u002Finteractive-cli.ts) is a small REPL that streams agent events, renders subagent activity in live boxes, and runs in `yolo` permission mode against the `OpenAIResponsesProvider`.\n\nSetup:\n\n```sh\nexport OPENAI_API_KEY=sk-...\n# optional overrides\nexport SKAWLD_MODEL=gpt-5            # default: gpt-5\nexport SKAWLD_CONFIG_DIR=.\u002F.skawld   # default: .\u002F.skawld\n```\n\nRun:\n\n```sh\nbun run examples\u002Finteractive-cli.ts\n```\n\nOn startup it prompts for a working directory (defaults to the current one), then accepts free-form messages. Type `\u002Fexit` or press `Ctrl+C` to quit.\n\n---\n\n## Providers\n\n| Provider class | Subpath | Environment variable |\n|---|---|---|\n| `AnthropicProvider` | `@skawld\u002Fagent-sdk\u002Fproviders` | `ANTHROPIC_API_KEY` |\n| `OpenAIChatCompletionsProvider` | `@skawld\u002Fagent-sdk\u002Fproviders` | `OPENAI_API_KEY` |\n| `OpenAIResponsesProvider` | `@skawld\u002Fagent-sdk\u002Fproviders` | `OPENAI_API_KEY` |\n\n```ts\nimport {\n  AnthropicProvider,\n  OpenAIChatCompletionsProvider,\n  OpenAIResponsesProvider,\n} from \"@skawld\u002Fagent-sdk\u002Fproviders\";\n```\n\n---\n\n## Environment variables\n\n| Variable | Used by |\n|---|---|\n| `ANTHROPIC_API_KEY` | `AnthropicProvider` (falls back to SDK default lookup) |\n| `OPENAI_API_KEY` | `OpenAIChatCompletionsProvider`, `OpenAIResponsesProvider` |\n\n---\n\n## Sessions\n\nBy default, sessions persist to SQLite at `.skawld\u002Fsessions.db`. For tests or embedded applications, pass a custom `sessionStore`, such as `InMemorySessionStore`.\n\n```ts\nimport { Agent } from \"@skawld\u002Fagent-sdk\";\nimport { InMemorySessionStore } from \"@skawld\u002Fagent-sdk\u002Fsessions\";\n\nconst agent = new Agent({\n  provider,\n  model,\n  sessionStore: new InMemorySessionStore(),\n});\n```\n\n---\n\n## Public API surface\n\n```\n@skawld\u002Fagent-sdk             → Agent, Session, defaultTools, MCP helpers, core types, Event types, Error classes\n@skawld\u002Fagent-sdk\u002Fproviders   → AnthropicProvider, OpenAIChatCompletionsProvider, OpenAIResponsesProvider, BaseProvider\n@skawld\u002Fagent-sdk\u002Ftools       → ToolRegistry, defaultTools, built-in tool classes, MCP tool helpers, task types\n@skawld\u002Fagent-sdk\u002Fsessions    → SqliteSessionStore, InMemorySessionStore, SessionStore and task persistence types\n@skawld\u002Fagent-sdk\u002Fpermissions → PermissionEngine, permission callback types, permission rule types\n```\n\n---\n\n## License\n\nMIT\n","Skawld Agent SDK 是一个开源的多功能 TypeScript 代理框架，用于在 Node.js 或 Bun 应用中嵌入完整的代理循环。它支持工具集成、会话管理、权限控制、事件流处理以及子代理功能，并且仅支持 ESM 模块。项目基于现代 JavaScript 运行环境（Node.js 18+ 和 Bun 1.1+），提供了包括 Anthropic 和 OpenAI 在内的多种 AI 提供商接入方式。适用于需要构建自动化任务执行、智能助手或者任何涉及与外部 API 交互的应用场景，特别是那些希望利用先进语言模型能力来增强应用功能的情况。","2026-06-11 04:05:37","CREATED_QUERY"]