pocket-agent 0.1.0
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/README.md +140 -0
- package/dist/adapters/createLLMEvaluator.d.ts +19 -0
- package/dist/adapters/createLLMEvaluator.d.ts.map +1 -0
- package/dist/adapters/createLLMEvaluator.js +150 -0
- package/dist/adapters/createLLMEvaluator.js.map +1 -0
- package/dist/adapters/models/anthropic.d.ts +15 -0
- package/dist/adapters/models/anthropic.d.ts.map +1 -0
- package/dist/adapters/models/anthropic.js +45 -0
- package/dist/adapters/models/anthropic.js.map +1 -0
- package/dist/adapters/models/gemini.d.ts +16 -0
- package/dist/adapters/models/gemini.d.ts.map +1 -0
- package/dist/adapters/models/gemini.js +58 -0
- package/dist/adapters/models/gemini.js.map +1 -0
- package/dist/adapters/models/lmStudioStreaming.d.ts +21 -0
- package/dist/adapters/models/lmStudioStreaming.d.ts.map +1 -0
- package/dist/adapters/models/lmStudioStreaming.js +90 -0
- package/dist/adapters/models/lmStudioStreaming.js.map +1 -0
- package/dist/adapters/models/lmstudio.d.ts +20 -0
- package/dist/adapters/models/lmstudio.d.ts.map +1 -0
- package/dist/adapters/models/lmstudio.js +59 -0
- package/dist/adapters/models/lmstudio.js.map +1 -0
- package/dist/adapters/models/ollama.d.ts +22 -0
- package/dist/adapters/models/ollama.d.ts.map +1 -0
- package/dist/adapters/models/ollama.js +61 -0
- package/dist/adapters/models/ollama.js.map +1 -0
- package/dist/adapters/models/ollamaStreaming.d.ts +30 -0
- package/dist/adapters/models/ollamaStreaming.d.ts.map +1 -0
- package/dist/adapters/models/ollamaStreaming.js +88 -0
- package/dist/adapters/models/ollamaStreaming.js.map +1 -0
- package/dist/adapters/models/openai.d.ts +17 -0
- package/dist/adapters/models/openai.d.ts.map +1 -0
- package/dist/adapters/models/openai.js +50 -0
- package/dist/adapters/models/openai.js.map +1 -0
- package/dist/defaults/defaultExecutor.d.ts +20 -0
- package/dist/defaults/defaultExecutor.d.ts.map +1 -0
- package/dist/defaults/defaultExecutor.js +67 -0
- package/dist/defaults/defaultExecutor.js.map +1 -0
- package/dist/defaults/llmPlanner.d.ts +20 -0
- package/dist/defaults/llmPlanner.d.ts.map +1 -0
- package/dist/defaults/llmPlanner.js +151 -0
- package/dist/defaults/llmPlanner.js.map +1 -0
- package/dist/defaults/planBuilder.d.ts +48 -0
- package/dist/defaults/planBuilder.d.ts.map +1 -0
- package/dist/defaults/planBuilder.js +105 -0
- package/dist/defaults/planBuilder.js.map +1 -0
- package/dist/defaults/singleStepPlanner.d.ts +17 -0
- package/dist/defaults/singleStepPlanner.d.ts.map +1 -0
- package/dist/defaults/singleStepPlanner.js +52 -0
- package/dist/defaults/singleStepPlanner.js.map +1 -0
- package/dist/evaluator/StepEvaluator.d.ts +9 -0
- package/dist/evaluator/StepEvaluator.d.ts.map +1 -0
- package/dist/evaluator/StepEvaluator.js +5 -0
- package/dist/evaluator/StepEvaluator.js.map +1 -0
- package/dist/events/EventBus.d.ts +13 -0
- package/dist/events/EventBus.d.ts.map +1 -0
- package/dist/events/EventBus.js +34 -0
- package/dist/events/EventBus.js.map +1 -0
- package/dist/executor/StepExecutor.d.ts +9 -0
- package/dist/executor/StepExecutor.d.ts.map +1 -0
- package/dist/executor/StepExecutor.js +5 -0
- package/dist/executor/StepExecutor.js.map +1 -0
- package/dist/index.d.ts +48 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +22 -0
- package/dist/index.js.map +1 -0
- package/dist/models/ModelAdapter.d.ts +5 -0
- package/dist/models/ModelAdapter.d.ts.map +1 -0
- package/dist/models/ModelAdapter.js +5 -0
- package/dist/models/ModelAdapter.js.map +1 -0
- package/dist/planner/PlanValidator.d.ts +16 -0
- package/dist/planner/PlanValidator.d.ts.map +1 -0
- package/dist/planner/PlanValidator.js +44 -0
- package/dist/planner/PlanValidator.js.map +1 -0
- package/dist/planner/Planner.d.ts +10 -0
- package/dist/planner/Planner.d.ts.map +1 -0
- package/dist/planner/Planner.js +5 -0
- package/dist/planner/Planner.js.map +1 -0
- package/dist/quickStart.d.ts +49 -0
- package/dist/quickStart.d.ts.map +1 -0
- package/dist/quickStart.js +77 -0
- package/dist/quickStart.js.map +1 -0
- package/dist/runner/AgentRunner.d.ts +29 -0
- package/dist/runner/AgentRunner.d.ts.map +1 -0
- package/dist/runner/AgentRunner.js +223 -0
- package/dist/runner/AgentRunner.js.map +1 -0
- package/dist/runner/RunStateManager.d.ts +21 -0
- package/dist/runner/RunStateManager.d.ts.map +1 -0
- package/dist/runner/RunStateManager.js +96 -0
- package/dist/runner/RunStateManager.js.map +1 -0
- package/dist/runner/RunningExecution.d.ts +14 -0
- package/dist/runner/RunningExecution.d.ts.map +1 -0
- package/dist/runner/RunningExecution.js +5 -0
- package/dist/runner/RunningExecution.js.map +1 -0
- package/dist/runner/StepScheduler.d.ts +12 -0
- package/dist/runner/StepScheduler.d.ts.map +1 -0
- package/dist/runner/StepScheduler.js +42 -0
- package/dist/runner/StepScheduler.js.map +1 -0
- package/dist/runner/createAgentRunner.d.ts +32 -0
- package/dist/runner/createAgentRunner.d.ts.map +1 -0
- package/dist/runner/createAgentRunner.js +57 -0
- package/dist/runner/createAgentRunner.js.map +1 -0
- package/dist/runner/resolveInputs.d.ts +7 -0
- package/dist/runner/resolveInputs.d.ts.map +1 -0
- package/dist/runner/resolveInputs.js +28 -0
- package/dist/runner/resolveInputs.js.map +1 -0
- package/dist/tools/ToolAdapter.d.ts +5 -0
- package/dist/tools/ToolAdapter.d.ts.map +1 -0
- package/dist/tools/ToolAdapter.js +5 -0
- package/dist/tools/ToolAdapter.js.map +1 -0
- package/dist/types/errors.d.ts +28 -0
- package/dist/types/errors.d.ts.map +1 -0
- package/dist/types/errors.js +37 -0
- package/dist/types/errors.js.map +1 -0
- package/dist/types/evaluator.d.ts +14 -0
- package/dist/types/evaluator.d.ts.map +1 -0
- package/dist/types/evaluator.js +5 -0
- package/dist/types/evaluator.js.map +1 -0
- package/dist/types/events.d.ts +79 -0
- package/dist/types/events.d.ts.map +1 -0
- package/dist/types/events.js +17 -0
- package/dist/types/events.js.map +1 -0
- package/dist/types/executor.d.ts +18 -0
- package/dist/types/executor.d.ts.map +1 -0
- package/dist/types/executor.js +5 -0
- package/dist/types/executor.js.map +1 -0
- package/dist/types/models.d.ts +18 -0
- package/dist/types/models.d.ts.map +1 -0
- package/dist/types/models.js +6 -0
- package/dist/types/models.js.map +1 -0
- package/dist/types/plan.d.ts +37 -0
- package/dist/types/plan.d.ts.map +1 -0
- package/dist/types/plan.js +5 -0
- package/dist/types/plan.js.map +1 -0
- package/dist/types/planner.d.ts +24 -0
- package/dist/types/planner.d.ts.map +1 -0
- package/dist/types/planner.js +5 -0
- package/dist/types/planner.js.map +1 -0
- package/dist/types/run.d.ts +48 -0
- package/dist/types/run.d.ts.map +1 -0
- package/dist/types/run.js +14 -0
- package/dist/types/run.js.map +1 -0
- package/dist/types/step.d.ts +52 -0
- package/dist/types/step.d.ts.map +1 -0
- package/dist/types/step.js +5 -0
- package/dist/types/step.js.map +1 -0
- package/dist/types/tools.d.ts +21 -0
- package/dist/types/tools.d.ts.map +1 -0
- package/dist/types/tools.js +5 -0
- package/dist/types/tools.js.map +1 -0
- package/dist/utils/dag.d.ts +18 -0
- package/dist/utils/dag.d.ts.map +1 -0
- package/dist/utils/dag.js +77 -0
- package/dist/utils/dag.js.map +1 -0
- package/dist/utils/ids.d.ts +6 -0
- package/dist/utils/ids.d.ts.map +1 -0
- package/dist/utils/ids.js +11 -0
- package/dist/utils/ids.js.map +1 -0
- package/dist/utils/schema.d.ts +15 -0
- package/dist/utils/schema.d.ts.map +1 -0
- package/dist/utils/schema.js +11 -0
- package/dist/utils/schema.js.map +1 -0
- package/dist/utils/time.d.ts +6 -0
- package/dist/utils/time.d.ts.map +1 -0
- package/dist/utils/time.js +10 -0
- package/dist/utils/time.js.map +1 -0
- package/package.json +50 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"step.js","sourceRoot":"","sources":["../../src/types/step.ts"],"names":[],"mappings":"AAAA;;GAEG"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Tool adapter contract (spec §13).
|
|
3
|
+
*/
|
|
4
|
+
import type { JsonSchemaLike } from "./plan.js";
|
|
5
|
+
export interface ToolDefinition {
|
|
6
|
+
name: string;
|
|
7
|
+
description: string;
|
|
8
|
+
inputSchema?: JsonSchemaLike;
|
|
9
|
+
outputSchema?: JsonSchemaLike;
|
|
10
|
+
}
|
|
11
|
+
export interface ToolInvocationContext {
|
|
12
|
+
runId: string;
|
|
13
|
+
stepId: string;
|
|
14
|
+
attempt: number;
|
|
15
|
+
[key: string]: unknown;
|
|
16
|
+
}
|
|
17
|
+
export interface ToolAdapter {
|
|
18
|
+
definition: ToolDefinition;
|
|
19
|
+
invoke(input: unknown, context: ToolInvocationContext): Promise<unknown>;
|
|
20
|
+
}
|
|
21
|
+
//# sourceMappingURL=tools.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tools.d.ts","sourceRoot":"","sources":["../../src/types/tools.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAEhD,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,cAAc,CAAC;IAC7B,YAAY,CAAC,EAAE,cAAc,CAAC;CAC/B;AAED,MAAM,WAAW,qBAAqB;IACpC,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED,MAAM,WAAW,WAAW;IAC1B,UAAU,EAAE,cAAc,CAAC;IAC3B,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,qBAAqB,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;CAC1E"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tools.js","sourceRoot":"","sources":["../../src/types/tools.ts"],"names":[],"mappings":"AAAA;;GAEG"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* DAG utilities for plan steps: ready steps, cycle detection, topological order.
|
|
3
|
+
*/
|
|
4
|
+
import type { StepDefinition } from "../types/plan.js";
|
|
5
|
+
/**
|
|
6
|
+
* Returns step IDs that have all dependencies satisfied (in completedStepIds).
|
|
7
|
+
* Steps with no dependencies are ready when completedStepIds is empty.
|
|
8
|
+
*/
|
|
9
|
+
export declare function getReadySteps(steps: StepDefinition[], completedStepIds: Set<string>): string[];
|
|
10
|
+
/**
|
|
11
|
+
* Detects if the step graph has a cycle. Returns true if cycle exists.
|
|
12
|
+
*/
|
|
13
|
+
export declare function hasCycle(steps: StepDefinition[]): boolean;
|
|
14
|
+
/**
|
|
15
|
+
* Topological sort of step IDs. Throws if cycle detected.
|
|
16
|
+
*/
|
|
17
|
+
export declare function topologicalSort(steps: StepDefinition[]): string[];
|
|
18
|
+
//# sourceMappingURL=dag.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dag.d.ts","sourceRoot":"","sources":["../../src/utils/dag.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAEvD;;;GAGG;AACH,wBAAgB,aAAa,CAC3B,KAAK,EAAE,cAAc,EAAE,EACvB,gBAAgB,EAAE,GAAG,CAAC,MAAM,CAAC,GAC5B,MAAM,EAAE,CAWV;AAED;;GAEG;AACH,wBAAgB,QAAQ,CAAC,KAAK,EAAE,cAAc,EAAE,GAAG,OAAO,CAwBzD;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,cAAc,EAAE,GAAG,MAAM,EAAE,CAwBjE"}
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* DAG utilities for plan steps: ready steps, cycle detection, topological order.
|
|
3
|
+
*/
|
|
4
|
+
/**
|
|
5
|
+
* Returns step IDs that have all dependencies satisfied (in completedStepIds).
|
|
6
|
+
* Steps with no dependencies are ready when completedStepIds is empty.
|
|
7
|
+
*/
|
|
8
|
+
export function getReadySteps(steps, completedStepIds) {
|
|
9
|
+
const stepMap = new Map(steps.map((s) => [s.id, s]));
|
|
10
|
+
const ready = [];
|
|
11
|
+
for (const step of steps) {
|
|
12
|
+
const deps = step.dependencies ?? [];
|
|
13
|
+
const allSatisfied = deps.every((depId) => completedStepIds.has(depId));
|
|
14
|
+
if (allSatisfied) {
|
|
15
|
+
ready.push(step.id);
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
return ready;
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* Detects if the step graph has a cycle. Returns true if cycle exists.
|
|
22
|
+
*/
|
|
23
|
+
export function hasCycle(steps) {
|
|
24
|
+
const stepMap = new Map(steps.map((s) => [s.id, s]));
|
|
25
|
+
const visited = new Set();
|
|
26
|
+
const stack = new Set();
|
|
27
|
+
function visit(id) {
|
|
28
|
+
if (stack.has(id))
|
|
29
|
+
return true;
|
|
30
|
+
if (visited.has(id))
|
|
31
|
+
return false;
|
|
32
|
+
visited.add(id);
|
|
33
|
+
stack.add(id);
|
|
34
|
+
const step = stepMap.get(id);
|
|
35
|
+
if (step) {
|
|
36
|
+
for (const depId of step.dependencies ?? []) {
|
|
37
|
+
if (visit(depId))
|
|
38
|
+
return true;
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
stack.delete(id);
|
|
42
|
+
return false;
|
|
43
|
+
}
|
|
44
|
+
for (const step of steps) {
|
|
45
|
+
if (visit(step.id))
|
|
46
|
+
return true;
|
|
47
|
+
}
|
|
48
|
+
return false;
|
|
49
|
+
}
|
|
50
|
+
/**
|
|
51
|
+
* Topological sort of step IDs. Throws if cycle detected.
|
|
52
|
+
*/
|
|
53
|
+
export function topologicalSort(steps) {
|
|
54
|
+
if (hasCycle(steps)) {
|
|
55
|
+
throw new Error("Plan contains a cycle in step dependencies");
|
|
56
|
+
}
|
|
57
|
+
const stepMap = new Map(steps.map((s) => [s.id, s]));
|
|
58
|
+
const visited = new Set();
|
|
59
|
+
const result = [];
|
|
60
|
+
function visit(id) {
|
|
61
|
+
if (visited.has(id))
|
|
62
|
+
return;
|
|
63
|
+
visited.add(id);
|
|
64
|
+
const step = stepMap.get(id);
|
|
65
|
+
if (step) {
|
|
66
|
+
for (const depId of step.dependencies ?? []) {
|
|
67
|
+
visit(depId);
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
result.push(id);
|
|
71
|
+
}
|
|
72
|
+
for (const step of steps) {
|
|
73
|
+
visit(step.id);
|
|
74
|
+
}
|
|
75
|
+
return result;
|
|
76
|
+
}
|
|
77
|
+
//# sourceMappingURL=dag.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dag.js","sourceRoot":"","sources":["../../src/utils/dag.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ids.d.ts","sourceRoot":"","sources":["../../src/utils/ids.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH,wBAAgB,WAAW,IAAI,MAAM,CAEpC;AAED,wBAAgB,YAAY,CAAC,MAAM,SAAS,GAAG,MAAM,CAEpD"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Unique ID generation for runs and steps.
|
|
3
|
+
*/
|
|
4
|
+
import { randomUUID } from "node:crypto";
|
|
5
|
+
export function createRunId() {
|
|
6
|
+
return randomUUID();
|
|
7
|
+
}
|
|
8
|
+
export function createStepId(prefix = "step") {
|
|
9
|
+
return `${prefix}_${randomUUID().replace(/-/g, "").slice(0, 12)}`;
|
|
10
|
+
}
|
|
11
|
+
//# sourceMappingURL=ids.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ids.js","sourceRoot":"","sources":["../../src/utils/ids.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAEzC,MAAM,UAAU,WAAW;IACzB,OAAO,UAAU,EAAE,CAAC;AACtB,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,MAAM,GAAG,MAAM;IAC1C,OAAO,GAAG,MAAM,IAAI,UAAU,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC;AACpE,CAAC"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Optional JSON-schema validation helpers for step outputs (v1: minimal).
|
|
3
|
+
*/
|
|
4
|
+
import type { JsonSchemaLike } from "../types/plan.js";
|
|
5
|
+
/**
|
|
6
|
+
* Stub: in v1 we do not validate against JSON schema by default.
|
|
7
|
+
* Can be extended to use a small library (e.g. ajv) if requireStructuredOutputs is used.
|
|
8
|
+
*/
|
|
9
|
+
export declare function validateOutput(_output: unknown, _schema: JsonSchemaLike): {
|
|
10
|
+
valid: true;
|
|
11
|
+
} | {
|
|
12
|
+
valid: false;
|
|
13
|
+
errors: string[];
|
|
14
|
+
};
|
|
15
|
+
//# sourceMappingURL=schema.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../src/utils/schema.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAEvD;;;GAGG;AACH,wBAAgB,cAAc,CAC5B,OAAO,EAAE,OAAO,EAChB,OAAO,EAAE,cAAc,GACtB;IAAE,KAAK,EAAE,IAAI,CAAA;CAAE,GAAG;IAAE,KAAK,EAAE,KAAK,CAAC;IAAC,MAAM,EAAE,MAAM,EAAE,CAAA;CAAE,CAEtD"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Optional JSON-schema validation helpers for step outputs (v1: minimal).
|
|
3
|
+
*/
|
|
4
|
+
/**
|
|
5
|
+
* Stub: in v1 we do not validate against JSON schema by default.
|
|
6
|
+
* Can be extended to use a small library (e.g. ajv) if requireStructuredOutputs is used.
|
|
7
|
+
*/
|
|
8
|
+
export function validateOutput(_output, _schema) {
|
|
9
|
+
return { valid: true };
|
|
10
|
+
}
|
|
11
|
+
//# sourceMappingURL=schema.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"schema.js","sourceRoot":"","sources":["../../src/utils/schema.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH;;;GAGG;AACH,MAAM,UAAU,cAAc,CAC5B,OAAgB,EAChB,OAAuB;IAEvB,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;AACzB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"time.d.ts","sourceRoot":"","sources":["../../src/utils/time.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,wBAAgB,MAAM,IAAI,MAAM,CAE/B;AAED,wBAAgB,UAAU,CAAC,SAAS,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,MAAM,CAEzE"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Timestamps and duration helpers.
|
|
3
|
+
*/
|
|
4
|
+
export function nowISO() {
|
|
5
|
+
return new Date().toISOString();
|
|
6
|
+
}
|
|
7
|
+
export function durationMs(startedAt, completedAt) {
|
|
8
|
+
return new Date(completedAt).getTime() - new Date(startedAt).getTime();
|
|
9
|
+
}
|
|
10
|
+
//# sourceMappingURL=time.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"time.js","sourceRoot":"","sources":["../../src/utils/time.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,MAAM,UAAU,MAAM;IACpB,OAAO,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;AAClC,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,SAAiB,EAAE,WAAmB;IAC/D,OAAO,IAAI,IAAI,CAAC,WAAW,CAAC,CAAC,OAAO,EAAE,GAAG,IAAI,IAAI,CAAC,SAAS,CAAC,CAAC,OAAO,EAAE,CAAC;AACzE,CAAC"}
|
package/package.json
ADDED
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "pocket-agent",
|
|
3
|
+
"version": "0.1.0",
|
|
4
|
+
"description": "Reusable Node.js framework for plan-driven agent execution",
|
|
5
|
+
"author": "sam_thewise",
|
|
6
|
+
"type": "module",
|
|
7
|
+
"main": "dist/index.js",
|
|
8
|
+
"types": "dist/index.d.ts",
|
|
9
|
+
"url": "https://github.com/sam-thewise/pocket-agent",
|
|
10
|
+
"scripts": {
|
|
11
|
+
"build": "tsc",
|
|
12
|
+
"test": "vitest run",
|
|
13
|
+
"test:watch": "vitest",
|
|
14
|
+
"test:coverage": "vitest run --coverage",
|
|
15
|
+
"example": "tsx examples/run-example.ts",
|
|
16
|
+
"example:openai": "tsx examples/run-with-openai.ts",
|
|
17
|
+
"example:planner": "tsx examples/run-project-planner.ts",
|
|
18
|
+
"example:quick-start": "tsx examples/run-quick-start.ts",
|
|
19
|
+
"example:fluent-plan": "tsx examples/run-fluent-plan.ts",
|
|
20
|
+
"example:goal-driven-llm": "tsx examples/run-goal-driven-llm.ts",
|
|
21
|
+
"example:minimal": "tsx examples/run-minimal.ts",
|
|
22
|
+
"lint": "eslint src --ext .ts"
|
|
23
|
+
},
|
|
24
|
+
"exports": {
|
|
25
|
+
".": {
|
|
26
|
+
"import": "./dist/index.js",
|
|
27
|
+
"types": "./dist/index.d.ts"
|
|
28
|
+
}
|
|
29
|
+
},
|
|
30
|
+
"files": [
|
|
31
|
+
"dist"
|
|
32
|
+
],
|
|
33
|
+
"optionalDependencies": {
|
|
34
|
+
"@anthropic-ai/sdk": "^0.30.0",
|
|
35
|
+
"@google/genai": "^1.0.0",
|
|
36
|
+
"openai": "^4.52.0"
|
|
37
|
+
},
|
|
38
|
+
"devDependencies": {
|
|
39
|
+
"@anthropic-ai/sdk": "^0.30.0",
|
|
40
|
+
"@google/genai": "^1.0.0",
|
|
41
|
+
"@types/node": "^20.10.0",
|
|
42
|
+
"openai": "^4.52.0",
|
|
43
|
+
"typescript": "^5.3.0",
|
|
44
|
+
"tsx": "^4.7.0",
|
|
45
|
+
"vitest": "^1.2.0"
|
|
46
|
+
},
|
|
47
|
+
"engines": {
|
|
48
|
+
"node": ">=18"
|
|
49
|
+
}
|
|
50
|
+
}
|