avantgate 1.4.0 → 1.6.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 +1 -0
- package/dist/agent/types.d.ts +1 -1
- package/dist/agent/types.d.ts.map +1 -1
- package/dist/{chunk-DTM2OLCG.mjs → chunk-4XWO3NZW.mjs} +69 -18
- package/dist/client/browser-exporter.d.ts +32 -0
- package/dist/client/browser-exporter.d.ts.map +1 -0
- package/dist/client/client.d.ts +37 -0
- package/dist/client/client.d.ts.map +1 -0
- package/dist/client/index.d.ts +5 -0
- package/dist/client/index.d.ts.map +1 -0
- package/dist/client/index.js +259 -0
- package/dist/client/index.mjs +230 -0
- package/dist/client/types.d.ts +59 -0
- package/dist/client/types.d.ts.map +1 -0
- package/dist/client/useAvantGateTelemetry.d.ts +14 -0
- package/dist/client/useAvantGateTelemetry.d.ts.map +1 -0
- package/dist/index.js +71 -18
- package/dist/index.mjs +6 -2
- package/dist/workflow/define-workflow.d.ts +1 -1
- package/dist/workflow/define-workflow.d.ts.map +1 -1
- package/dist/workflow/engine.d.ts +1 -1
- package/dist/workflow/engine.d.ts.map +1 -1
- package/dist/workflow/errors.d.ts +7 -0
- package/dist/workflow/errors.d.ts.map +1 -1
- package/dist/workflow/index.d.ts +1 -1
- package/dist/workflow/index.d.ts.map +1 -1
- package/dist/workflow/index.js +73 -20
- package/dist/workflow/index.mjs +7 -3
- package/dist/workflow/types.d.ts +4 -1
- package/dist/workflow/types.d.ts.map +1 -1
- package/package.json +20 -4
package/dist/workflow/index.js
CHANGED
|
@@ -20,10 +20,12 @@ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: tru
|
|
|
20
20
|
// src/workflow/index.ts
|
|
21
21
|
var workflow_exports = {};
|
|
22
22
|
__export(workflow_exports, {
|
|
23
|
+
WorkflowAbortSignal: () => WorkflowAbortSignal,
|
|
23
24
|
WorkflowSagaRollbackError: () => WorkflowSagaRollbackError,
|
|
24
25
|
WorkflowValidationError: () => WorkflowValidationError,
|
|
25
26
|
defineWorkflow: () => defineWorkflow,
|
|
26
|
-
executeWorkflow: () => executeWorkflow
|
|
27
|
+
executeWorkflow: () => executeWorkflow,
|
|
28
|
+
isWorkflowAbortSignal: () => isWorkflowAbortSignal
|
|
27
29
|
});
|
|
28
30
|
module.exports = __toCommonJS(workflow_exports);
|
|
29
31
|
|
|
@@ -339,21 +341,35 @@ var WorkflowValidationError = class extends Error {
|
|
|
339
341
|
this.issues = issues;
|
|
340
342
|
}
|
|
341
343
|
};
|
|
344
|
+
var WorkflowAbortSignal = class extends Error {
|
|
345
|
+
__isWorkflowAbort = true;
|
|
346
|
+
reason;
|
|
347
|
+
payload;
|
|
348
|
+
constructor(reason, payload) {
|
|
349
|
+
super(`Workflow aborted: ${reason}`);
|
|
350
|
+
this.name = "WorkflowAbortSignal";
|
|
351
|
+
this.reason = reason;
|
|
352
|
+
this.payload = payload;
|
|
353
|
+
}
|
|
354
|
+
};
|
|
355
|
+
var isWorkflowAbortSignal = (value) => {
|
|
356
|
+
return typeof value === "object" && value !== null && value.__isWorkflowAbort === true;
|
|
357
|
+
};
|
|
342
358
|
|
|
343
359
|
// src/workflow/engine.ts
|
|
344
|
-
|
|
360
|
+
var generateRunId = (workflowId) => {
|
|
345
361
|
const timestamp = Date.now();
|
|
346
362
|
const randomSuffix = Math.random().toString(36).substring(2, 9);
|
|
347
363
|
return `run_${workflowId}_${timestamp}_${randomSuffix}`;
|
|
348
|
-
}
|
|
349
|
-
|
|
364
|
+
};
|
|
365
|
+
var validateInput = (config, input) => {
|
|
350
366
|
const parseResult = config.inputSchema.safeParse(input);
|
|
351
367
|
if (!parseResult.success) {
|
|
352
368
|
throw new WorkflowValidationError(config.id, parseResult.error.issues);
|
|
353
369
|
}
|
|
354
370
|
return parseResult.data;
|
|
355
|
-
}
|
|
356
|
-
|
|
371
|
+
};
|
|
372
|
+
var createStepContext = (params) => {
|
|
357
373
|
const { workflowId, stepId, runId, context, stepResults } = params;
|
|
358
374
|
return {
|
|
359
375
|
workflowId,
|
|
@@ -382,10 +398,13 @@ function createStepContext(params) {
|
|
|
382
398
|
});
|
|
383
399
|
}
|
|
384
400
|
throw new StepSuspendedError(stepId, workflowId, options?.prompt);
|
|
401
|
+
},
|
|
402
|
+
abort: (reason, payload) => {
|
|
403
|
+
throw new WorkflowAbortSignal(reason, payload);
|
|
385
404
|
}
|
|
386
405
|
};
|
|
387
|
-
}
|
|
388
|
-
async
|
|
406
|
+
};
|
|
407
|
+
var rollbackSaga = async (params) => {
|
|
389
408
|
const {
|
|
390
409
|
workflowId,
|
|
391
410
|
failedStepId,
|
|
@@ -429,12 +448,38 @@ async function rollbackSaga(params) {
|
|
|
429
448
|
compensatedSteps,
|
|
430
449
|
failedCompensations
|
|
431
450
|
});
|
|
432
|
-
}
|
|
433
|
-
async
|
|
451
|
+
};
|
|
452
|
+
var executeWorkflow = async (config, rawInput, context) => {
|
|
434
453
|
const input = validateInput(config, rawInput);
|
|
435
454
|
const runId = context?.runId ?? generateRunId(config.id);
|
|
436
455
|
const stepResults = {};
|
|
437
456
|
const completedSteps = [];
|
|
457
|
+
const handleAbort = async (stepId, signal) => {
|
|
458
|
+
stepResults[stepId] = {
|
|
459
|
+
aborted: true,
|
|
460
|
+
reason: signal.reason,
|
|
461
|
+
payload: signal.payload
|
|
462
|
+
};
|
|
463
|
+
if (context?.storage) {
|
|
464
|
+
await context.storage.updateStepStatus(config.id, stepId, "ABORTED", {
|
|
465
|
+
result: signal.payload,
|
|
466
|
+
metadata: { abortReason: signal.reason }
|
|
467
|
+
});
|
|
468
|
+
}
|
|
469
|
+
const abortOutput = signal.payload ?? {
|
|
470
|
+
aborted: true,
|
|
471
|
+
reason: signal.reason
|
|
472
|
+
};
|
|
473
|
+
return {
|
|
474
|
+
workflowId: config.id,
|
|
475
|
+
runId,
|
|
476
|
+
status: "ABORTED",
|
|
477
|
+
stepResults,
|
|
478
|
+
abortReason: signal.reason,
|
|
479
|
+
abortPayload: signal.payload,
|
|
480
|
+
output: abortOutput
|
|
481
|
+
};
|
|
482
|
+
};
|
|
438
483
|
for (const step of config.steps) {
|
|
439
484
|
const stepCtx = createStepContext({
|
|
440
485
|
workflowId: config.id,
|
|
@@ -445,6 +490,9 @@ async function executeWorkflow(config, rawInput, context) {
|
|
|
445
490
|
});
|
|
446
491
|
try {
|
|
447
492
|
const result = await step.execute(input, stepCtx);
|
|
493
|
+
if (isWorkflowAbortSignal(result)) {
|
|
494
|
+
return await handleAbort(step.id, result);
|
|
495
|
+
}
|
|
448
496
|
stepResults[step.id] = result;
|
|
449
497
|
completedSteps.push({ step, result });
|
|
450
498
|
if (context?.storage) {
|
|
@@ -459,6 +507,9 @@ async function executeWorkflow(config, rawInput, context) {
|
|
|
459
507
|
stepResults
|
|
460
508
|
};
|
|
461
509
|
}
|
|
510
|
+
if (isWorkflowAbortSignal(error)) {
|
|
511
|
+
return await handleAbort(step.id, error);
|
|
512
|
+
}
|
|
462
513
|
await rollbackSaga({
|
|
463
514
|
workflowId: config.id,
|
|
464
515
|
failedStepId: step.id,
|
|
@@ -479,22 +530,22 @@ async function executeWorkflow(config, rawInput, context) {
|
|
|
479
530
|
stepResults,
|
|
480
531
|
output: finalOutput
|
|
481
532
|
};
|
|
482
|
-
}
|
|
533
|
+
};
|
|
483
534
|
|
|
484
535
|
// src/workflow/define-workflow.ts
|
|
485
|
-
|
|
536
|
+
var resolveWorkflowImpact = (config, options) => {
|
|
486
537
|
if (options?.impact) {
|
|
487
538
|
return options.impact;
|
|
488
539
|
}
|
|
489
540
|
return config.impact ?? "MUTATIVE";
|
|
490
|
-
}
|
|
491
|
-
|
|
541
|
+
};
|
|
542
|
+
var resolveRequireApproval = (impact, options) => {
|
|
492
543
|
if (options?.requireApproval !== void 0) {
|
|
493
544
|
return options.requireApproval;
|
|
494
545
|
}
|
|
495
546
|
return impact === "DESTRUCTIVE";
|
|
496
|
-
}
|
|
497
|
-
|
|
547
|
+
};
|
|
548
|
+
var buildToolExecutionContext = (options, toolCtx) => {
|
|
498
549
|
const tenantId = typeof toolCtx?.tenantId === "string" ? toolCtx.tenantId : options?.defaultContext?.tenantId;
|
|
499
550
|
const userId = typeof toolCtx?.userId === "string" ? toolCtx.userId : options?.defaultContext?.userId;
|
|
500
551
|
return {
|
|
@@ -503,8 +554,8 @@ function buildToolExecutionContext(options, toolCtx) {
|
|
|
503
554
|
services: options?.defaultContext?.services ?? {},
|
|
504
555
|
storage: options?.storage ?? options?.defaultContext?.storage
|
|
505
556
|
};
|
|
506
|
-
}
|
|
507
|
-
|
|
557
|
+
};
|
|
558
|
+
var defineWorkflow = (config) => {
|
|
508
559
|
const workflowImpact = config.impact ?? "MUTATIVE";
|
|
509
560
|
return {
|
|
510
561
|
id: config.id,
|
|
@@ -548,11 +599,13 @@ function defineWorkflow(config) {
|
|
|
548
599
|
return tool;
|
|
549
600
|
}
|
|
550
601
|
};
|
|
551
|
-
}
|
|
602
|
+
};
|
|
552
603
|
// Annotate the CommonJS export names for ESM import in node:
|
|
553
604
|
0 && (module.exports = {
|
|
605
|
+
WorkflowAbortSignal,
|
|
554
606
|
WorkflowSagaRollbackError,
|
|
555
607
|
WorkflowValidationError,
|
|
556
608
|
defineWorkflow,
|
|
557
|
-
executeWorkflow
|
|
609
|
+
executeWorkflow,
|
|
610
|
+
isWorkflowAbortSignal
|
|
558
611
|
});
|
package/dist/workflow/index.mjs
CHANGED
|
@@ -1,13 +1,17 @@
|
|
|
1
1
|
import {
|
|
2
|
+
WorkflowAbortSignal,
|
|
2
3
|
WorkflowSagaRollbackError,
|
|
3
4
|
WorkflowValidationError,
|
|
4
5
|
defineWorkflow,
|
|
5
|
-
executeWorkflow
|
|
6
|
-
|
|
6
|
+
executeWorkflow,
|
|
7
|
+
isWorkflowAbortSignal
|
|
8
|
+
} from "../chunk-4XWO3NZW.mjs";
|
|
7
9
|
import "../chunk-5VA3EKPJ.mjs";
|
|
8
10
|
export {
|
|
11
|
+
WorkflowAbortSignal,
|
|
9
12
|
WorkflowSagaRollbackError,
|
|
10
13
|
WorkflowValidationError,
|
|
11
14
|
defineWorkflow,
|
|
12
|
-
executeWorkflow
|
|
15
|
+
executeWorkflow,
|
|
16
|
+
isWorkflowAbortSignal
|
|
13
17
|
};
|
package/dist/workflow/types.d.ts
CHANGED
|
@@ -10,6 +10,7 @@ export interface WorkflowStepContext {
|
|
|
10
10
|
readonly storage?: StepStorageAdapter;
|
|
11
11
|
getStepResult<T = unknown>(stepId: string): T | undefined;
|
|
12
12
|
waitForApproval<T = unknown>(options?: StepApprovalOptions<T>): Promise<T>;
|
|
13
|
+
abort<TPayload = unknown>(reason: string, payload?: TPayload): never;
|
|
13
14
|
}
|
|
14
15
|
export interface WorkflowStepConfig<TInput = any, TOutput = any> {
|
|
15
16
|
id: string;
|
|
@@ -47,9 +48,11 @@ export interface WorkflowAsToolOptions {
|
|
|
47
48
|
export interface WorkflowExecutionResult<TOutput = any> {
|
|
48
49
|
workflowId: string;
|
|
49
50
|
runId: string;
|
|
50
|
-
status: "COMPLETED" | "FAILED" | "WAITING_APPROVAL";
|
|
51
|
+
status: "COMPLETED" | "FAILED" | "WAITING_APPROVAL" | "ABORTED";
|
|
51
52
|
stepResults: Record<string, any>;
|
|
52
53
|
output?: TOutput;
|
|
54
|
+
abortReason?: string;
|
|
55
|
+
abortPayload?: unknown;
|
|
53
56
|
}
|
|
54
57
|
export interface WorkflowInstance<TInput = any, TOutput = any> {
|
|
55
58
|
readonly id: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/workflow/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,KAAK,CAAC;AACnC,OAAO,KAAK,EACV,YAAY,EACZ,mBAAmB,EACnB,kBAAkB,EAClB,UAAU,EACX,MAAM,gBAAgB,CAAC;AAExB,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IACvC,QAAQ,CAAC,OAAO,CAAC,EAAE,kBAAkB,CAAC;IACtC,aAAa,CAAC,CAAC,GAAG,OAAO,EAAE,MAAM,EAAE,MAAM,GAAG,CAAC,GAAG,SAAS,CAAC;IAC1D,eAAe,CAAC,CAAC,GAAG,OAAO,EAAE,OAAO,CAAC,EAAE,mBAAmB,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/workflow/types.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "avantgate",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.6.0",
|
|
4
4
|
"description": "Zero-infrastructure, in-process AI Application Firewall (AI-WAF) & privacy control plane for TypeScript: real-time prompt guardrails, zero-egress PII redaction, agent tool isolation, anti-IDOR defense, pre-flight token budgets, and multi-model failover.",
|
|
5
5
|
"author": "Antigravity & LexTalk Team",
|
|
6
6
|
"license": "MIT",
|
|
@@ -59,21 +59,35 @@
|
|
|
59
59
|
"import": "./dist/workflow/index.mjs",
|
|
60
60
|
"require": "./dist/workflow/index.js"
|
|
61
61
|
},
|
|
62
|
+
"./client": {
|
|
63
|
+
"types": "./dist/client/index.d.ts",
|
|
64
|
+
"import": "./dist/client/index.mjs",
|
|
65
|
+
"require": "./dist/client/index.js"
|
|
66
|
+
},
|
|
62
67
|
"./package.json": "./package.json"
|
|
63
68
|
},
|
|
69
|
+
"peerDependencies": {
|
|
70
|
+
"react": ">=18.0.0"
|
|
71
|
+
},
|
|
72
|
+
"peerDependenciesMeta": {
|
|
73
|
+
"react": {
|
|
74
|
+
"optional": true
|
|
75
|
+
}
|
|
76
|
+
},
|
|
64
77
|
"files": [
|
|
65
78
|
"dist",
|
|
66
79
|
"README.md",
|
|
67
80
|
"LICENSE"
|
|
68
81
|
],
|
|
69
82
|
"scripts": {
|
|
70
|
-
"build": "tsup src/index.ts src/finance/index.ts src/agent/index.ts src/workflow/index.ts --format cjs --format esm --clean && tsc --emitDeclarationOnly --outDir dist",
|
|
71
|
-
"test": "tsx tests/avantgate.test.ts && tsx tests/preflight-budget.test.ts && tsx tests/financial-normalizer.test.ts && tsx tests/prompt-builder.test.ts && tsx tests/pii-extended.test.ts && npm run test:agent && npm run test:workflow",
|
|
83
|
+
"build": "tsup src/index.ts src/finance/index.ts src/agent/index.ts src/workflow/index.ts src/client/index.ts --format cjs --format esm --clean && tsc --emitDeclarationOnly --outDir dist",
|
|
84
|
+
"test": "tsx tests/avantgate.test.ts && tsx tests/preflight-budget.test.ts && tsx tests/financial-normalizer.test.ts && tsx tests/prompt-builder.test.ts && tsx tests/pii-extended.test.ts && npm run test:agent && npm run test:workflow && npm run test:client",
|
|
72
85
|
"test:finance": "tsx tests/financial-normalizer.test.ts",
|
|
73
86
|
"test:prompts": "tsx tests/prompt-builder.test.ts",
|
|
74
87
|
"test:pii": "tsx tests/pii-extended.test.ts",
|
|
75
88
|
"test:agent": "tsx tests/agent/step-runner.test.ts && tsx tests/agent/isolated-tool.test.ts && tsx tests/agent/dto-pattern.test.ts && tsx tests/agent/tool-patterns.test.ts && tsx tests/agent/storage-adapters.test.ts && tsx tests/agent/tool-aliasing.test.ts && tsx tests/agent/tool-chaining.test.ts && tsx tests/agent/tool-storage.test.ts && tsx tests/agent/telemetry-exporter.test.ts && tsx tests/agent/platform-adapter.test.ts && tsx tests/agent/tool-governance.test.ts && tsx tests/agent/tool-impact.test.ts",
|
|
76
|
-
"test:workflow": "tsx tests/workflow/workflow-saga.test.ts",
|
|
89
|
+
"test:workflow": "tsx tests/workflow/workflow-saga.test.ts && tsx tests/workflow/workflow-abort.test.ts",
|
|
90
|
+
"test:client": "tsx tests/client/browser-exporter.test.ts",
|
|
77
91
|
"lint": "tsc --noEmit",
|
|
78
92
|
"prepublishOnly": "npm run build && npm test"
|
|
79
93
|
},
|
|
@@ -81,6 +95,8 @@
|
|
|
81
95
|
"zod": "^3.23.0 || ^4.0.0"
|
|
82
96
|
},
|
|
83
97
|
"devDependencies": {
|
|
98
|
+
"@types/react": "^18.3.18",
|
|
99
|
+
"react": "^18.3.1",
|
|
84
100
|
"tsup": "^8.3.5",
|
|
85
101
|
"tsx": "^4.19.0",
|
|
86
102
|
"typescript": "^5.4.0"
|