praisonai 1.3.6 → 1.5.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/dist/agent/audio.d.ts +190 -0
- package/dist/agent/audio.js +302 -0
- package/dist/agent/index.d.ts +2 -0
- package/dist/agent/index.js +5 -1
- package/dist/ai/agent-loop.d.ts +177 -0
- package/dist/ai/agent-loop.js +313 -0
- package/dist/ai/devtools.d.ts +74 -0
- package/dist/ai/devtools.js +216 -0
- package/dist/ai/embed.d.ts +71 -0
- package/dist/ai/embed.js +154 -0
- package/dist/ai/generate-image.d.ts +66 -0
- package/dist/ai/generate-image.js +138 -0
- package/dist/ai/generate-object.d.ts +132 -0
- package/dist/ai/generate-object.js +206 -0
- package/dist/ai/generate-text.d.ts +201 -0
- package/dist/ai/generate-text.js +253 -0
- package/dist/ai/index.d.ts +27 -0
- package/dist/ai/index.js +140 -0
- package/dist/ai/mcp.d.ts +181 -0
- package/dist/ai/mcp.js +234 -0
- package/dist/ai/middleware.d.ts +110 -0
- package/dist/ai/middleware.js +186 -0
- package/dist/ai/models.d.ts +67 -0
- package/dist/ai/models.js +249 -0
- package/dist/ai/multimodal.d.ts +125 -0
- package/dist/ai/multimodal.js +270 -0
- package/dist/ai/nextjs.d.ts +122 -0
- package/dist/ai/nextjs.js +218 -0
- package/dist/ai/server.d.ts +126 -0
- package/dist/ai/server.js +336 -0
- package/dist/ai/speech.d.ts +135 -0
- package/dist/ai/speech.js +296 -0
- package/dist/ai/telemetry.d.ts +162 -0
- package/dist/ai/telemetry.js +311 -0
- package/dist/ai/tool-approval.d.ts +225 -0
- package/dist/ai/tool-approval.js +407 -0
- package/dist/ai/tools.d.ts +93 -0
- package/dist/ai/tools.js +89 -0
- package/dist/ai/types.d.ts +47 -0
- package/dist/ai/types.js +5 -0
- package/dist/ai/ui-message.d.ts +218 -0
- package/dist/ai/ui-message.js +291 -0
- package/dist/cli/commands/approval.d.ts +10 -0
- package/dist/cli/commands/approval.js +274 -0
- package/dist/cli/commands/observability.d.ts +7 -0
- package/dist/cli/commands/observability.js +202 -12
- package/dist/cli/commands/providers.d.ts +5 -2
- package/dist/cli/commands/providers.js +204 -5
- package/dist/cli/commands/tools.d.ts +11 -1
- package/dist/cli/commands/tools.js +450 -64
- package/dist/cli/output/errors.d.ts +1 -0
- package/dist/cli/output/errors.js +1 -0
- package/dist/cli/spec/cli-spec.js +17 -0
- package/dist/index.d.ts +21 -4
- package/dist/index.js +275 -19
- package/dist/integrations/computer-use.d.ts +182 -0
- package/dist/integrations/computer-use.js +356 -0
- package/dist/integrations/postgres.d.ts +162 -0
- package/dist/integrations/postgres.js +396 -0
- package/dist/integrations/slack.d.ts +145 -0
- package/dist/integrations/slack.js +270 -0
- package/dist/knowledge/chonkie-adapter.d.ts +99 -0
- package/dist/knowledge/chonkie-adapter.js +268 -0
- package/dist/knowledge/index.d.ts +5 -0
- package/dist/knowledge/index.js +29 -1
- package/dist/knowledge/query-engine.d.ts +136 -0
- package/dist/knowledge/query-engine.js +214 -0
- package/dist/knowledge/rag-pipeline.d.ts +192 -0
- package/dist/knowledge/rag-pipeline.js +283 -0
- package/dist/knowledge/readers.d.ts +129 -0
- package/dist/knowledge/readers.js +393 -0
- package/dist/llm/providers/ai-sdk/types.d.ts +49 -3
- package/dist/llm/providers/ai-sdk/types.js +169 -15
- package/dist/mcp/index.d.ts +188 -0
- package/dist/mcp/index.js +373 -0
- package/dist/mcp/server.d.ts +211 -0
- package/dist/mcp/server.js +412 -0
- package/dist/memory/docs-manager.d.ts +165 -0
- package/dist/memory/docs-manager.js +294 -0
- package/dist/memory/hooks.d.ts +154 -0
- package/dist/memory/hooks.js +228 -0
- package/dist/memory/rules-manager.d.ts +182 -0
- package/dist/memory/rules-manager.js +244 -0
- package/dist/observability/adapters/console.d.ts +33 -0
- package/dist/observability/adapters/console.js +71 -0
- package/dist/observability/adapters/external/arize.d.ts +20 -0
- package/dist/observability/adapters/external/arize.js +22 -0
- package/dist/observability/adapters/external/axiom.d.ts +20 -0
- package/dist/observability/adapters/external/axiom.js +22 -0
- package/dist/observability/adapters/external/braintrust.d.ts +20 -0
- package/dist/observability/adapters/external/braintrust.js +22 -0
- package/dist/observability/adapters/external/helicone.d.ts +20 -0
- package/dist/observability/adapters/external/helicone.js +22 -0
- package/dist/observability/adapters/external/laminar.d.ts +20 -0
- package/dist/observability/adapters/external/laminar.js +22 -0
- package/dist/observability/adapters/external/langfuse.d.ts +28 -0
- package/dist/observability/adapters/external/langfuse.js +186 -0
- package/dist/observability/adapters/external/langsmith.d.ts +21 -0
- package/dist/observability/adapters/external/langsmith.js +83 -0
- package/dist/observability/adapters/external/langwatch.d.ts +20 -0
- package/dist/observability/adapters/external/langwatch.js +22 -0
- package/dist/observability/adapters/external/maxim.d.ts +20 -0
- package/dist/observability/adapters/external/maxim.js +22 -0
- package/dist/observability/adapters/external/patronus.d.ts +20 -0
- package/dist/observability/adapters/external/patronus.js +22 -0
- package/dist/observability/adapters/external/scorecard.d.ts +20 -0
- package/dist/observability/adapters/external/scorecard.js +22 -0
- package/dist/observability/adapters/external/signoz.d.ts +20 -0
- package/dist/observability/adapters/external/signoz.js +22 -0
- package/dist/observability/adapters/external/traceloop.d.ts +20 -0
- package/dist/observability/adapters/external/traceloop.js +22 -0
- package/dist/observability/adapters/external/weave.d.ts +20 -0
- package/dist/observability/adapters/external/weave.js +22 -0
- package/dist/observability/adapters/index.d.ts +19 -0
- package/dist/observability/adapters/index.js +289 -0
- package/dist/observability/adapters/memory.d.ts +41 -0
- package/dist/observability/adapters/memory.js +190 -0
- package/dist/observability/adapters/noop.d.ts +25 -0
- package/dist/observability/adapters/noop.js +64 -0
- package/dist/observability/index.d.ts +39 -78
- package/dist/observability/index.js +99 -150
- package/dist/observability/types.d.ts +165 -0
- package/dist/observability/types.js +165 -0
- package/dist/tools/builtins/airweave.d.ts +32 -0
- package/dist/tools/builtins/airweave.js +119 -0
- package/dist/tools/builtins/bedrock-agentcore.d.ts +62 -0
- package/dist/tools/builtins/bedrock-agentcore.js +233 -0
- package/dist/tools/builtins/code-execution.d.ts +36 -0
- package/dist/tools/builtins/code-execution.js +136 -0
- package/dist/tools/builtins/code-mode.d.ts +54 -0
- package/dist/tools/builtins/code-mode.js +167 -0
- package/dist/tools/builtins/custom.d.ts +42 -0
- package/dist/tools/builtins/custom.js +195 -0
- package/dist/tools/builtins/exa.d.ts +53 -0
- package/dist/tools/builtins/exa.js +112 -0
- package/dist/tools/builtins/firecrawl.d.ts +56 -0
- package/dist/tools/builtins/firecrawl.js +158 -0
- package/dist/tools/builtins/index.d.ts +45 -0
- package/dist/tools/builtins/index.js +180 -0
- package/dist/tools/builtins/parallel.d.ts +30 -0
- package/dist/tools/builtins/parallel.js +113 -0
- package/dist/tools/builtins/perplexity.d.ts +32 -0
- package/dist/tools/builtins/perplexity.js +113 -0
- package/dist/tools/builtins/superagent.d.ts +66 -0
- package/dist/tools/builtins/superagent.js +187 -0
- package/dist/tools/builtins/tavily.d.ts +99 -0
- package/dist/tools/builtins/tavily.js +285 -0
- package/dist/tools/builtins/valyu.d.ts +65 -0
- package/dist/tools/builtins/valyu.js +193 -0
- package/dist/tools/index.d.ts +5 -0
- package/dist/tools/index.js +16 -2
- package/dist/tools/registry/index.d.ts +9 -0
- package/dist/tools/registry/index.js +28 -0
- package/dist/tools/registry/middleware.d.ts +43 -0
- package/dist/tools/registry/middleware.js +220 -0
- package/dist/tools/registry/registry.d.ts +92 -0
- package/dist/tools/registry/registry.js +280 -0
- package/dist/tools/registry/types.d.ts +217 -0
- package/dist/tools/registry/types.js +49 -0
- package/dist/tools/subagent.d.ts +131 -0
- package/dist/tools/subagent.js +185 -0
- package/dist/tools/tools.d.ts +74 -0
- package/dist/tools/tools.js +133 -0
- package/dist/workflows/index.d.ts +76 -1
- package/dist/workflows/index.js +125 -6
- package/dist/workflows/loop.d.ts +111 -0
- package/dist/workflows/loop.js +274 -0
- package/dist/workflows/repeat.d.ts +115 -0
- package/dist/workflows/repeat.js +144 -0
- package/package.json +4 -1
|
@@ -0,0 +1,144 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Repeat Pattern - Repeat a step until a condition is met
|
|
4
|
+
*
|
|
5
|
+
* Implements the evaluator-optimizer pattern where a step
|
|
6
|
+
* is executed repeatedly until either:
|
|
7
|
+
* - A condition function returns true
|
|
8
|
+
* - Maximum iterations are reached
|
|
9
|
+
*
|
|
10
|
+
* @example Basic usage
|
|
11
|
+
* ```typescript
|
|
12
|
+
* import { repeat, Agent } from 'praisonai';
|
|
13
|
+
*
|
|
14
|
+
* const generator = new Agent({ instructions: "Improve the text" });
|
|
15
|
+
*
|
|
16
|
+
* const result = await repeat(generator, {
|
|
17
|
+
* until: (ctx) => ctx.lastResult?.includes('perfect'),
|
|
18
|
+
* maxIterations: 5
|
|
19
|
+
* }).run('Make this text better');
|
|
20
|
+
* ```
|
|
21
|
+
*
|
|
22
|
+
* @example With custom evaluator
|
|
23
|
+
* ```typescript
|
|
24
|
+
* const result = await repeat(generator, {
|
|
25
|
+
* until: async (ctx) => {
|
|
26
|
+
* const score = await evaluateQuality(ctx.lastResult);
|
|
27
|
+
* return score >= 0.9;
|
|
28
|
+
* },
|
|
29
|
+
* maxIterations: 10
|
|
30
|
+
* }).run('Initial draft');
|
|
31
|
+
* ```
|
|
32
|
+
*/
|
|
33
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
34
|
+
exports.Repeat = void 0;
|
|
35
|
+
exports.repeat = repeat;
|
|
36
|
+
const crypto_1 = require("crypto");
|
|
37
|
+
/**
|
|
38
|
+
* Repeat class - Execute a step repeatedly until condition is met
|
|
39
|
+
*/
|
|
40
|
+
class Repeat {
|
|
41
|
+
constructor(step, config = {}) {
|
|
42
|
+
this.id = (0, crypto_1.randomUUID)();
|
|
43
|
+
this.step = step;
|
|
44
|
+
this.config = {
|
|
45
|
+
until: config.until ?? (() => false),
|
|
46
|
+
maxIterations: config.maxIterations ?? 10,
|
|
47
|
+
onIteration: config.onIteration ?? (() => { }),
|
|
48
|
+
delayMs: config.delayMs ?? 0,
|
|
49
|
+
};
|
|
50
|
+
}
|
|
51
|
+
/**
|
|
52
|
+
* Execute the step with given input
|
|
53
|
+
*/
|
|
54
|
+
async executeStep(input, previousResult, context) {
|
|
55
|
+
// Replace {{previous}} placeholder with previous result
|
|
56
|
+
let prompt = input;
|
|
57
|
+
if (previousResult !== null) {
|
|
58
|
+
prompt = prompt.replace(/\{\{previous\}\}/g, previousResult);
|
|
59
|
+
}
|
|
60
|
+
// Execute based on step type
|
|
61
|
+
if (typeof this.step === 'function') {
|
|
62
|
+
return await this.step(prompt, previousResult);
|
|
63
|
+
}
|
|
64
|
+
// If step has a chat method (Agent-like)
|
|
65
|
+
if (this.step && typeof this.step.chat === 'function') {
|
|
66
|
+
return await this.step.chat(prompt);
|
|
67
|
+
}
|
|
68
|
+
// If step has an execute method (WorkflowStep-like)
|
|
69
|
+
if (this.step && typeof this.step.execute === 'function') {
|
|
70
|
+
return await this.step.execute(prompt, context);
|
|
71
|
+
}
|
|
72
|
+
throw new Error('Step must be a function, Agent (with chat method), or have execute method');
|
|
73
|
+
}
|
|
74
|
+
/**
|
|
75
|
+
* Run the repeat pattern
|
|
76
|
+
*/
|
|
77
|
+
async run(input, context) {
|
|
78
|
+
const allResults = [];
|
|
79
|
+
let lastResult = null;
|
|
80
|
+
let conditionMet = false;
|
|
81
|
+
for (let i = 0; i < this.config.maxIterations; i++) {
|
|
82
|
+
// Execute the step
|
|
83
|
+
const result = await this.executeStep(input, lastResult, context);
|
|
84
|
+
allResults.push(result);
|
|
85
|
+
lastResult = result;
|
|
86
|
+
// Call iteration callback
|
|
87
|
+
this.config.onIteration(result, i);
|
|
88
|
+
// Create repeat context for condition check
|
|
89
|
+
const repeatContext = {
|
|
90
|
+
lastResult: result,
|
|
91
|
+
iteration: i,
|
|
92
|
+
allResults: [...allResults],
|
|
93
|
+
metadata: {},
|
|
94
|
+
workflowContext: context,
|
|
95
|
+
};
|
|
96
|
+
// Check until condition
|
|
97
|
+
const shouldStop = await this.config.until(repeatContext);
|
|
98
|
+
if (shouldStop) {
|
|
99
|
+
conditionMet = true;
|
|
100
|
+
break;
|
|
101
|
+
}
|
|
102
|
+
// Optional delay between iterations
|
|
103
|
+
if (this.config.delayMs > 0 && i < this.config.maxIterations - 1) {
|
|
104
|
+
await this.delay(this.config.delayMs);
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
return {
|
|
108
|
+
result: lastResult ?? '',
|
|
109
|
+
iterations: allResults,
|
|
110
|
+
count: allResults.length,
|
|
111
|
+
conditionMet,
|
|
112
|
+
maxReached: !conditionMet && allResults.length >= this.config.maxIterations,
|
|
113
|
+
};
|
|
114
|
+
}
|
|
115
|
+
/**
|
|
116
|
+
* Helper to delay execution
|
|
117
|
+
*/
|
|
118
|
+
delay(ms) {
|
|
119
|
+
return new Promise(resolve => setTimeout(resolve, ms));
|
|
120
|
+
}
|
|
121
|
+
}
|
|
122
|
+
exports.Repeat = Repeat;
|
|
123
|
+
/**
|
|
124
|
+
* Convenience function to create a Repeat pattern
|
|
125
|
+
*
|
|
126
|
+
* @example
|
|
127
|
+
* ```typescript
|
|
128
|
+
* import { repeat, Agent } from 'praisonai';
|
|
129
|
+
*
|
|
130
|
+
* const optimizer = new Agent({ instructions: "Improve: {{previous}}" });
|
|
131
|
+
*
|
|
132
|
+
* const result = await repeat(optimizer, {
|
|
133
|
+
* until: (ctx) => ctx.iteration >= 3,
|
|
134
|
+
* maxIterations: 5
|
|
135
|
+
* }).run('Initial text');
|
|
136
|
+
*
|
|
137
|
+
* console.log(result.iterations); // ['improved 1', 'improved 2', 'improved 3']
|
|
138
|
+
* ```
|
|
139
|
+
*/
|
|
140
|
+
function repeat(step, config) {
|
|
141
|
+
return new Repeat(step, config);
|
|
142
|
+
}
|
|
143
|
+
// Default export
|
|
144
|
+
exports.default = Repeat;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "praisonai",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.5.0",
|
|
4
4
|
"description": "PraisonAI TypeScript AI Agents Framework - Node.js, npm, and Javascript AI Agents Framework",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|
|
@@ -72,6 +72,9 @@
|
|
|
72
72
|
"openai": "^4.81.0"
|
|
73
73
|
},
|
|
74
74
|
"optionalDependencies": {
|
|
75
|
+
"@airweave/sdk": ">=0.1.0",
|
|
76
|
+
"@mendable/firecrawl-js": ">=1.0.0",
|
|
77
|
+
"bedrock-agentcore": ">=0.1.0",
|
|
75
78
|
"boxen": "^7.1.1",
|
|
76
79
|
"chalk": "^4.1.2",
|
|
77
80
|
"cli-table3": "^0.6.3",
|