@polpo-ai/core 0.5.14 → 0.5.16

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/LICENSE CHANGED
@@ -1,21 +1,13 @@
1
- MIT License
1
+ Copyright 2026-present Lumea Labs
2
2
 
3
- Copyright (c) 2026 OpenPolpo Contributors
3
+ Licensed under the Apache License, Version 2.0 (the "License");
4
+ you may not use this file except in compliance with the License.
5
+ You may obtain a copy of the License at
4
6
 
5
- Permission is hereby granted, free of charge, to any person obtaining a copy
6
- of this software and associated documentation files (the "Software"), to deal
7
- in the Software without restriction, including without limitation the rights
8
- to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
- copies of the Software, and to permit persons to whom the Software is
10
- furnished to do so, subject to the following conditions:
7
+ http://www.apache.org/licenses/LICENSE-2.0
11
8
 
12
- The above copyright notice and this permission notice shall be included in all
13
- copies or substantial portions of the Software.
14
-
15
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
- SOFTWARE.
9
+ Unless required by applicable law or agreed to in writing, software
10
+ distributed under the License is distributed on an "AS IS" BASIS,
11
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
+ See the License for the specific language governing permissions and
13
+ limitations under the License.
package/README.md CHANGED
@@ -10,4 +10,4 @@ npm install @polpo-ai/core
10
10
 
11
11
  ## License
12
12
 
13
- MIT
13
+ Apache 2.0
package/dist/adapter.d.ts CHANGED
@@ -63,7 +63,7 @@ export interface SpawnContext {
63
63
  fs?: FileSystem;
64
64
  /** Shell implementation — created by the orchestrator, passed down to tools. */
65
65
  shell?: Shell;
66
- /** LLM gateway configuration — passed per-request for multi-tenant support. */
66
+ /** LLM gateway configuration — passed per-request for gateway routing. */
67
67
  gatewayConfig?: unknown;
68
68
  }
69
69
  //# sourceMappingURL=adapter.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"adapter.d.ts","sourceRoot":"","sources":["../src/adapter.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AACzF,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAExC;;;GAGG;AACH,MAAM,WAAW,WAAW;IAC1B,6BAA6B;IAC7B,SAAS,EAAE,MAAM,CAAC;IAClB,wCAAwC;IACxC,MAAM,EAAE,MAAM,CAAC;IACf,iCAAiC;IACjC,SAAS,EAAE,MAAM,CAAC;IAClB,6CAA6C;IAC7C,GAAG,EAAE,MAAM,CAAC;IACZ,wDAAwD;IACxD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,0DAA0D;IAC1D,QAAQ,EAAE,aAAa,CAAC;IACxB,4DAA4D;IAC5D,IAAI,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC;IAC1B,0CAA0C;IAC1C,OAAO,IAAI,OAAO,CAAC;IACnB,6BAA6B;IAC7B,IAAI,IAAI,IAAI,CAAC;IACb;;;OAGG;IACH,YAAY,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,IAAI,CAAC;IACxD;;;;OAIG;IACH,QAAQ,CAAC,EAAE,WAAW,EAAE,CAAC;CAC1B;AAED,wDAAwD;AACxD,MAAM,WAAW,YAAY;IAC3B,gFAAgF;IAChF,QAAQ,EAAE,MAAM,CAAC;IACjB,2FAA2F;IAC3F,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,2EAA2E;IAC3E,mBAAmB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC/B,8FAA8F;IAC9F,SAAS,CAAC,EAAE,cAAc,CAAC;IAC3B,6EAA6E;IAC7E,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,8EAA8E;IAC9E,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,8EAA8E;IAC9E,mBAAmB,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;IACjF,qFAAqF;IACrF,EAAE,CAAC,EAAE,UAAU,CAAC;IAChB,gFAAgF;IAChF,KAAK,CAAC,EAAE,KAAK,CAAC;IACd,+EAA+E;IAC/E,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB"}
1
+ {"version":3,"file":"adapter.d.ts","sourceRoot":"","sources":["../src/adapter.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AACzF,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAExC;;;GAGG;AACH,MAAM,WAAW,WAAW;IAC1B,6BAA6B;IAC7B,SAAS,EAAE,MAAM,CAAC;IAClB,wCAAwC;IACxC,MAAM,EAAE,MAAM,CAAC;IACf,iCAAiC;IACjC,SAAS,EAAE,MAAM,CAAC;IAClB,6CAA6C;IAC7C,GAAG,EAAE,MAAM,CAAC;IACZ,wDAAwD;IACxD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,0DAA0D;IAC1D,QAAQ,EAAE,aAAa,CAAC;IACxB,4DAA4D;IAC5D,IAAI,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC;IAC1B,0CAA0C;IAC1C,OAAO,IAAI,OAAO,CAAC;IACnB,6BAA6B;IAC7B,IAAI,IAAI,IAAI,CAAC;IACb;;;OAGG;IACH,YAAY,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,IAAI,CAAC;IACxD;;;;OAIG;IACH,QAAQ,CAAC,EAAE,WAAW,EAAE,CAAC;CAC1B;AAED,wDAAwD;AACxD,MAAM,WAAW,YAAY;IAC3B,gFAAgF;IAChF,QAAQ,EAAE,MAAM,CAAC;IACjB,2FAA2F;IAC3F,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,2EAA2E;IAC3E,mBAAmB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC/B,8FAA8F;IAC9F,SAAS,CAAC,EAAE,cAAc,CAAC;IAC3B,6EAA6E;IAC7E,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,8EAA8E;IAC9E,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,8EAA8E;IAC9E,mBAAmB,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;IACjF,qFAAqF;IACrF,EAAE,CAAC,EAAE,UAAU,CAAC;IAChB,gFAAgF;IAChF,KAAK,CAAC,EAAE,KAAK,CAAC;IACd,0EAA0E;IAC1E,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB"}
@@ -2,7 +2,7 @@
2
2
  * Build the system prompt for an agent.
3
3
  *
4
4
  * Pure logic — no runtime dependencies (Node.js, pi-ai, filesystem).
5
- * Used by both self-hosted (src/adapters/engine.ts) and cloud (handler.ts).
5
+ * Used by any runtime (self-hosted or managed).
6
6
  *
7
7
  * Includes: preamble, identity, responsibilities, tone, personality, hierarchy,
8
8
  * custom systemPrompt, and optionally skills (if provided).
@@ -13,7 +13,7 @@ import type { Task, TaskResult, ModelConfig } from "./types.js";
13
13
  * OrchestratorContext (to avoid modifying the shared interface).
14
14
  *
15
15
  * Shell layer creates these from Node.js APIs (node:fs, node:path);
16
- * cloud/test environments can provide stubs or omit them.
16
+ * remote/test environments can provide stubs or omit them.
17
17
  */
18
18
  export interface AssessmentPorts {
19
19
  /** Check if a file path exists (sync). Maps to node:fs existsSync. */
@@ -5,7 +5,7 @@ import type { Task, TaskExpectation, TaskMetric, AssessmentResult, CheckResult,
5
5
  * Runtime dependencies for the assessment pipeline.
6
6
  *
7
7
  * The shell layer (Node.js) provides NodeFileSystem + NodeShell.
8
- * The cloud layer provides SandboxProxyFS + SandboxProxyShell.
8
+ * Remote environments provide SandboxProxyFS + SandboxProxyShell.
9
9
  * Tests can provide mocks/stubs.
10
10
  */
11
11
  export interface AssessmentDeps {
@@ -4,8 +4,8 @@
4
4
  * Decouples tools from node:fs so they can work on any backend:
5
5
  * - NodeFileSystem: node:fs (self-hosted, default)
6
6
  * - AgentFS: SQLite virtual filesystem (future)
7
- * - SandboxProxyFS: Daytona sandbox.fs proxy (cloud)
8
- * - S3/R2: Object storage (future)
7
+ * - SandboxProxyFS: Remote sandbox filesystem proxy
8
+ * - S3: Object storage adapter
9
9
  */
10
10
  export interface FileSystem {
11
11
  /** Read file contents as UTF-8 string. */
@@ -4,8 +4,8 @@
4
4
  * Decouples tools from node:fs so they can work on any backend:
5
5
  * - NodeFileSystem: node:fs (self-hosted, default)
6
6
  * - AgentFS: SQLite virtual filesystem (future)
7
- * - SandboxProxyFS: Daytona sandbox.fs proxy (cloud)
8
- * - S3/R2: Object storage (future)
7
+ * - SandboxProxyFS: Remote sandbox filesystem proxy
8
+ * - S3: Object storage adapter
9
9
  */
10
10
  export {};
11
11
  //# sourceMappingURL=filesystem.js.map
@@ -3,7 +3,7 @@
3
3
  *
4
4
  * Parses "provider:model" or "provider/model" strings into { provider, modelId }.
5
5
  * Auto-infers provider from well-known model prefixes.
6
- * Used by both self-hosted (src/llm/pi-client.ts) and cloud (handler.ts).
6
+ * Used by any runtime.
7
7
  */
8
8
  export interface ParsedModelSpec {
9
9
  provider: string;
@@ -24,7 +24,7 @@ export interface ParsedModelSpec {
24
24
  export declare function parseModelSpec(spec?: string, fallback?: string): ParsedModelSpec;
25
25
  /**
26
26
  * Map of known providers → environment variable name for API keys.
27
- * Used by both self-hosted and cloud for BYOK resolution.
27
+ * Used for provider API key resolution.
28
28
  */
29
29
  export declare const PROVIDER_ENV_MAP: Record<string, string>;
30
30
  //# sourceMappingURL=model-spec.d.ts.map
@@ -3,7 +3,7 @@
3
3
  *
4
4
  * Parses "provider:model" or "provider/model" strings into { provider, modelId }.
5
5
  * Auto-infers provider from well-known model prefixes.
6
- * Used by both self-hosted (src/llm/pi-client.ts) and cloud (handler.ts).
6
+ * Used by any runtime.
7
7
  */
8
8
  /**
9
9
  * Well-known model prefixes → provider mapping.
@@ -77,7 +77,7 @@ export function parseModelSpec(spec, fallback) {
77
77
  }
78
78
  /**
79
79
  * Map of known providers → environment variable name for API keys.
80
- * Used by both self-hosted and cloud for BYOK resolution.
80
+ * Used for provider API key resolution.
81
81
  */
82
82
  export const PROVIDER_ENV_MAP = {
83
83
  openai: "OPENAI_API_KEY",
@@ -13,7 +13,7 @@ export interface RunRecord {
13
13
  result?: TaskResult;
14
14
  /** Outcomes auto-collected during execution (files, media, text artifacts). */
15
15
  outcomes?: TaskOutcome[];
16
- /** Full runner configuration (used by cloud runners that read config from DB instead of file). */
16
+ /** Full runner configuration (used by runners that read config from DB instead of file). */
17
17
  config?: RunnerConfig;
18
18
  configPath: string;
19
19
  }
@@ -1 +1 @@
1
- {"version":3,"file":"run-store.d.ts","sourceRoot":"","sources":["../src/run-store.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAEvF,MAAM,MAAM,SAAS,GAAG,SAAS,GAAG,WAAW,GAAG,QAAQ,GAAG,QAAQ,CAAC;AAEtE,MAAM,WAAW,SAAS;IACxB,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,MAAM,CAAC;IACf,GAAG,EAAE,MAAM,CAAC;IACZ,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,SAAS,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,aAAa,CAAC;IACxB,MAAM,CAAC,EAAE,UAAU,CAAC;IACpB,+EAA+E;IAC/E,QAAQ,CAAC,EAAE,WAAW,EAAE,CAAC;IACzB,kGAAkG;IAClG,MAAM,CAAC,EAAE,YAAY,CAAC;IACtB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,QAAQ;IACvB,SAAS,CAAC,GAAG,EAAE,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACzC,cAAc,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACtE,mFAAmF;IACnF,cAAc,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,WAAW,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACtE,WAAW,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACjF,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,GAAG,SAAS,CAAC,CAAC;IACtD,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,GAAG,SAAS,CAAC,CAAC;IAC/D,aAAa,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC,CAAC;IACtC,eAAe,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC,CAAC;IACxC,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACxC,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;CAC/B"}
1
+ {"version":3,"file":"run-store.d.ts","sourceRoot":"","sources":["../src/run-store.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAEvF,MAAM,MAAM,SAAS,GAAG,SAAS,GAAG,WAAW,GAAG,QAAQ,GAAG,QAAQ,CAAC;AAEtE,MAAM,WAAW,SAAS;IACxB,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,MAAM,CAAC;IACf,GAAG,EAAE,MAAM,CAAC;IACZ,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,SAAS,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,aAAa,CAAC;IACxB,MAAM,CAAC,EAAE,UAAU,CAAC;IACpB,+EAA+E;IAC/E,QAAQ,CAAC,EAAE,WAAW,EAAE,CAAC;IACzB,4FAA4F;IAC5F,MAAM,CAAC,EAAE,YAAY,CAAC;IACtB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,QAAQ;IACvB,SAAS,CAAC,GAAG,EAAE,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACzC,cAAc,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACtE,mFAAmF;IACnF,cAAc,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,WAAW,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACtE,WAAW,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACjF,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,GAAG,SAAS,CAAC,CAAC;IACtD,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,GAAG,SAAS,CAAC,CAAC;IAC/D,aAAa,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC,CAAC;IACtC,eAAe,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC,CAAC;IACxC,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACxC,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;CAC/B"}
package/dist/shell.d.ts CHANGED
@@ -4,7 +4,7 @@
4
4
  * Decouples tools from child_process so they can work on any backend:
5
5
  * - NodeShell: child_process.exec (self-hosted, default)
6
6
  * - JustBashShell: just-bash in-process (serverless, edge)
7
- * - SandboxProxyShell: Daytona sandbox.process proxy (cloud)
7
+ * - SandboxProxyShell: Remote sandbox process proxy
8
8
  */
9
9
  export interface Shell {
10
10
  /** Execute a command and return the result. */
package/dist/shell.js CHANGED
@@ -4,7 +4,7 @@
4
4
  * Decouples tools from child_process so they can work on any backend:
5
5
  * - NodeShell: child_process.exec (self-hosted, default)
6
6
  * - JustBashShell: just-bash in-process (serverless, edge)
7
- * - SandboxProxyShell: Daytona sandbox.process proxy (cloud)
7
+ * - SandboxProxyShell: Remote sandbox process proxy
8
8
  */
9
9
  export {};
10
10
  //# sourceMappingURL=shell.js.map
@@ -3,7 +3,7 @@
3
3
  *
4
4
  * Uses FileSystem abstraction so it works on any backend:
5
5
  * - NodeFileSystem (self-hosted)
6
- * - SandboxProxyFS (cloud, lazy)
6
+ * - SandboxProxyFS (remote, lazy)
7
7
  *
8
8
  * Write operations (install, remove, create, assign) stay in the shell
9
9
  * because they use git clone, symlinks, and other Node-specific ops.
@@ -46,7 +46,7 @@ export declare function extractSkillBody(content: string): string;
46
46
  export declare function buildSkillPrompt(skills: LoadedSkill[]): string;
47
47
  /**
48
48
  * Discover ALL available skills from the project's .polpo/skills/ directory.
49
- * Cloud version — no global ~/.polpo/ (not available in sandbox).
49
+ * Remote version — no global ~/.polpo/ (not available in sandbox).
50
50
  */
51
51
  export declare function discoverSkills(fs: FileSystem, polpoDir: string, globalPolpoDir?: string): Promise<SkillInfo[]>;
52
52
  /**
@@ -3,7 +3,7 @@
3
3
  *
4
4
  * Uses FileSystem abstraction so it works on any backend:
5
5
  * - NodeFileSystem (self-hosted)
6
- * - SandboxProxyFS (cloud, lazy)
6
+ * - SandboxProxyFS (remote, lazy)
7
7
  *
8
8
  * Write operations (install, remove, create, assign) stay in the shell
9
9
  * because they use git clone, symlinks, and other Node-specific ops.
@@ -120,7 +120,7 @@ async function scanSkillsDir(fs, dir, source) {
120
120
  }
121
121
  /**
122
122
  * Discover ALL available skills from the project's .polpo/skills/ directory.
123
- * Cloud version — no global ~/.polpo/ (not available in sandbox).
123
+ * Remote version — no global ~/.polpo/ (not available in sandbox).
124
124
  */
125
125
  export async function discoverSkills(fs, polpoDir, globalPolpoDir) {
126
126
  const seen = new Set();
package/dist/spawner.d.ts CHANGED
@@ -2,7 +2,7 @@
2
2
  * Spawner — abstraction for launching agent runner processes.
3
3
  *
4
4
  * Node.js uses NodeSpawner (child_process.spawn).
5
- * Cloud uses SandboxSpawner (Daytona sandbox).
5
+ * Remote environments use SandboxSpawner.
6
6
  *
7
7
  * Same pattern as FileSystem and Shell — pure interface in core,
8
8
  * runtime implementations in the shell layer.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@polpo-ai/core",
3
- "version": "0.5.14",
3
+ "version": "0.5.16",
4
4
  "description": "Pure business logic, types, schemas, and store interfaces for the Polpo AI agent orchestration platform",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -212,7 +212,7 @@
212
212
  "dist",
213
213
  "README.md"
214
214
  ],
215
- "license": "MIT",
215
+ "license": "Apache-2.0",
216
216
  "keywords": [
217
217
  "polpo",
218
218
  "ai-agents",