@kadoa/node-sdk 0.17.0 → 0.19.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/browser/index.global.js +15 -15
- package/dist/browser/index.global.js.map +1 -1
- package/dist/index.d.mts +12 -12
- package/dist/index.d.ts +12 -12
- package/dist/index.js +110 -19
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +110 -19
- package/dist/index.mjs.map +1 -1
- package/package.json +4 -4
package/dist/index.d.mts
CHANGED
|
@@ -377,19 +377,10 @@ interface MonitoringConfig {
|
|
|
377
377
|
*/
|
|
378
378
|
'channels'?: Array<any | null>;
|
|
379
379
|
/**
|
|
380
|
-
*
|
|
380
|
+
* Condition group with logical operator and conditions
|
|
381
381
|
*/
|
|
382
|
-
'conditions'?:
|
|
383
|
-
/**
|
|
384
|
-
* Logical operator for conditions
|
|
385
|
-
*/
|
|
386
|
-
'logicalOperator'?: MonitoringConfigLogicalOperatorEnum;
|
|
382
|
+
'conditions'?: any;
|
|
387
383
|
}
|
|
388
|
-
declare const MonitoringConfigLogicalOperatorEnum: {
|
|
389
|
-
readonly And: "AND";
|
|
390
|
-
readonly Or: "OR";
|
|
391
|
-
};
|
|
392
|
-
type MonitoringConfigLogicalOperatorEnum = typeof MonitoringConfigLogicalOperatorEnum[keyof typeof MonitoringConfigLogicalOperatorEnum];
|
|
393
384
|
|
|
394
385
|
/**
|
|
395
386
|
* Kadoa API
|
|
@@ -2678,6 +2669,7 @@ declare const V4WorkflowsGet200ResponseWorkflowsInnerDisplayStateEnum: {
|
|
|
2678
2669
|
readonly Setup: "SETUP";
|
|
2679
2670
|
readonly Running: "RUNNING";
|
|
2680
2671
|
readonly Failed: "FAILED";
|
|
2672
|
+
readonly Deleted: "DELETED";
|
|
2681
2673
|
};
|
|
2682
2674
|
type V4WorkflowsGet200ResponseWorkflowsInnerDisplayStateEnum = typeof V4WorkflowsGet200ResponseWorkflowsInnerDisplayStateEnum[keyof typeof V4WorkflowsGet200ResponseWorkflowsInnerDisplayStateEnum];
|
|
2683
2675
|
|
|
@@ -3212,6 +3204,7 @@ declare const V4WorkflowsWorkflowIdGet200ResponseDisplayStateEnum: {
|
|
|
3212
3204
|
readonly Queued: "QUEUED";
|
|
3213
3205
|
readonly Setup: "SETUP";
|
|
3214
3206
|
readonly Running: "RUNNING";
|
|
3207
|
+
readonly Deleted: "DELETED";
|
|
3215
3208
|
};
|
|
3216
3209
|
type V4WorkflowsWorkflowIdGet200ResponseDisplayStateEnum = typeof V4WorkflowsWorkflowIdGet200ResponseDisplayStateEnum[keyof typeof V4WorkflowsWorkflowIdGet200ResponseDisplayStateEnum];
|
|
3217
3210
|
|
|
@@ -5530,6 +5523,7 @@ declare const WorkflowDisplayStateEnum: {
|
|
|
5530
5523
|
readonly Setup: "SETUP";
|
|
5531
5524
|
readonly Running: "RUNNING";
|
|
5532
5525
|
readonly Failed: "FAILED";
|
|
5526
|
+
readonly Deleted: "DELETED";
|
|
5533
5527
|
};
|
|
5534
5528
|
type WorkflowDisplayStateEnum = (typeof WorkflowDisplayStateEnum)[keyof typeof WorkflowDisplayStateEnum];
|
|
5535
5529
|
/**
|
|
@@ -6017,6 +6011,7 @@ interface CreateWorkflowInput {
|
|
|
6017
6011
|
autoStart?: boolean;
|
|
6018
6012
|
schedules?: string[];
|
|
6019
6013
|
additionalData?: Record<string, unknown>;
|
|
6014
|
+
userPrompt?: string;
|
|
6020
6015
|
}
|
|
6021
6016
|
declare const TERMINAL_JOB_STATES: Set<JobStateEnum>;
|
|
6022
6017
|
declare const TERMINAL_RUN_STATES: Set<string>;
|
|
@@ -6072,6 +6067,7 @@ interface ExtractionOptionsInternal {
|
|
|
6072
6067
|
notifications?: NotificationOptions;
|
|
6073
6068
|
autoStart?: boolean;
|
|
6074
6069
|
additionalData?: Record<string, unknown>;
|
|
6070
|
+
userPrompt?: string;
|
|
6075
6071
|
}
|
|
6076
6072
|
type ExtractionOptions = {
|
|
6077
6073
|
urls: string[];
|
|
@@ -6247,7 +6243,7 @@ declare class SchemaBuilder {
|
|
|
6247
6243
|
|
|
6248
6244
|
interface ExtractOptionsInternal {
|
|
6249
6245
|
urls: string[];
|
|
6250
|
-
name
|
|
6246
|
+
name?: string;
|
|
6251
6247
|
description?: string;
|
|
6252
6248
|
navigationMode: NavigationMode;
|
|
6253
6249
|
entity: EntityConfig;
|
|
@@ -6256,6 +6252,7 @@ interface ExtractOptionsInternal {
|
|
|
6256
6252
|
schedules?: string[];
|
|
6257
6253
|
location?: LocationConfig;
|
|
6258
6254
|
additionalData?: Record<string, unknown>;
|
|
6255
|
+
userPrompt?: string;
|
|
6259
6256
|
}
|
|
6260
6257
|
interface ExtractOptions extends Omit<ExtractOptionsInternal, "navigationMode" | "entity"> {
|
|
6261
6258
|
navigationMode?: NavigationMode;
|
|
@@ -6274,6 +6271,7 @@ interface PreparedExtraction {
|
|
|
6274
6271
|
}) => PreparedExtraction;
|
|
6275
6272
|
bypassPreview: () => PreparedExtraction;
|
|
6276
6273
|
setLocation: (options: LocationConfig) => PreparedExtraction;
|
|
6274
|
+
withPrompt: (prompt: string) => PreparedExtraction;
|
|
6277
6275
|
create: () => Promise<CreatedExtraction>;
|
|
6278
6276
|
}
|
|
6279
6277
|
interface RunWorkflowOptions {
|
|
@@ -6311,6 +6309,7 @@ declare class ExtractionBuilderService {
|
|
|
6311
6309
|
private _jobId;
|
|
6312
6310
|
private _notificationOptions;
|
|
6313
6311
|
private _monitoringOptions;
|
|
6312
|
+
private _userPrompt;
|
|
6314
6313
|
get options(): ExtractOptionsInternal;
|
|
6315
6314
|
get notificationOptions(): NotificationOptions | undefined;
|
|
6316
6315
|
get monitoringOptions(): WorkflowMonitoringConfig | undefined;
|
|
@@ -6327,6 +6326,7 @@ declare class ExtractionBuilderService {
|
|
|
6327
6326
|
schedules: string[];
|
|
6328
6327
|
}): PreparedExtraction;
|
|
6329
6328
|
setLocation(options: LocationConfig): PreparedExtraction;
|
|
6329
|
+
withPrompt(prompt: string): PreparedExtraction;
|
|
6330
6330
|
create(): Promise<CreatedExtraction>;
|
|
6331
6331
|
waitForReady(options?: WaitForReadyOptions): Promise<GetWorkflowResponse>;
|
|
6332
6332
|
run(options?: RunWorkflowOptions): Promise<FinishedExtraction>;
|
package/dist/index.d.ts
CHANGED
|
@@ -377,19 +377,10 @@ interface MonitoringConfig {
|
|
|
377
377
|
*/
|
|
378
378
|
'channels'?: Array<any | null>;
|
|
379
379
|
/**
|
|
380
|
-
*
|
|
380
|
+
* Condition group with logical operator and conditions
|
|
381
381
|
*/
|
|
382
|
-
'conditions'?:
|
|
383
|
-
/**
|
|
384
|
-
* Logical operator for conditions
|
|
385
|
-
*/
|
|
386
|
-
'logicalOperator'?: MonitoringConfigLogicalOperatorEnum;
|
|
382
|
+
'conditions'?: any;
|
|
387
383
|
}
|
|
388
|
-
declare const MonitoringConfigLogicalOperatorEnum: {
|
|
389
|
-
readonly And: "AND";
|
|
390
|
-
readonly Or: "OR";
|
|
391
|
-
};
|
|
392
|
-
type MonitoringConfigLogicalOperatorEnum = typeof MonitoringConfigLogicalOperatorEnum[keyof typeof MonitoringConfigLogicalOperatorEnum];
|
|
393
384
|
|
|
394
385
|
/**
|
|
395
386
|
* Kadoa API
|
|
@@ -2678,6 +2669,7 @@ declare const V4WorkflowsGet200ResponseWorkflowsInnerDisplayStateEnum: {
|
|
|
2678
2669
|
readonly Setup: "SETUP";
|
|
2679
2670
|
readonly Running: "RUNNING";
|
|
2680
2671
|
readonly Failed: "FAILED";
|
|
2672
|
+
readonly Deleted: "DELETED";
|
|
2681
2673
|
};
|
|
2682
2674
|
type V4WorkflowsGet200ResponseWorkflowsInnerDisplayStateEnum = typeof V4WorkflowsGet200ResponseWorkflowsInnerDisplayStateEnum[keyof typeof V4WorkflowsGet200ResponseWorkflowsInnerDisplayStateEnum];
|
|
2683
2675
|
|
|
@@ -3212,6 +3204,7 @@ declare const V4WorkflowsWorkflowIdGet200ResponseDisplayStateEnum: {
|
|
|
3212
3204
|
readonly Queued: "QUEUED";
|
|
3213
3205
|
readonly Setup: "SETUP";
|
|
3214
3206
|
readonly Running: "RUNNING";
|
|
3207
|
+
readonly Deleted: "DELETED";
|
|
3215
3208
|
};
|
|
3216
3209
|
type V4WorkflowsWorkflowIdGet200ResponseDisplayStateEnum = typeof V4WorkflowsWorkflowIdGet200ResponseDisplayStateEnum[keyof typeof V4WorkflowsWorkflowIdGet200ResponseDisplayStateEnum];
|
|
3217
3210
|
|
|
@@ -5530,6 +5523,7 @@ declare const WorkflowDisplayStateEnum: {
|
|
|
5530
5523
|
readonly Setup: "SETUP";
|
|
5531
5524
|
readonly Running: "RUNNING";
|
|
5532
5525
|
readonly Failed: "FAILED";
|
|
5526
|
+
readonly Deleted: "DELETED";
|
|
5533
5527
|
};
|
|
5534
5528
|
type WorkflowDisplayStateEnum = (typeof WorkflowDisplayStateEnum)[keyof typeof WorkflowDisplayStateEnum];
|
|
5535
5529
|
/**
|
|
@@ -6017,6 +6011,7 @@ interface CreateWorkflowInput {
|
|
|
6017
6011
|
autoStart?: boolean;
|
|
6018
6012
|
schedules?: string[];
|
|
6019
6013
|
additionalData?: Record<string, unknown>;
|
|
6014
|
+
userPrompt?: string;
|
|
6020
6015
|
}
|
|
6021
6016
|
declare const TERMINAL_JOB_STATES: Set<JobStateEnum>;
|
|
6022
6017
|
declare const TERMINAL_RUN_STATES: Set<string>;
|
|
@@ -6072,6 +6067,7 @@ interface ExtractionOptionsInternal {
|
|
|
6072
6067
|
notifications?: NotificationOptions;
|
|
6073
6068
|
autoStart?: boolean;
|
|
6074
6069
|
additionalData?: Record<string, unknown>;
|
|
6070
|
+
userPrompt?: string;
|
|
6075
6071
|
}
|
|
6076
6072
|
type ExtractionOptions = {
|
|
6077
6073
|
urls: string[];
|
|
@@ -6247,7 +6243,7 @@ declare class SchemaBuilder {
|
|
|
6247
6243
|
|
|
6248
6244
|
interface ExtractOptionsInternal {
|
|
6249
6245
|
urls: string[];
|
|
6250
|
-
name
|
|
6246
|
+
name?: string;
|
|
6251
6247
|
description?: string;
|
|
6252
6248
|
navigationMode: NavigationMode;
|
|
6253
6249
|
entity: EntityConfig;
|
|
@@ -6256,6 +6252,7 @@ interface ExtractOptionsInternal {
|
|
|
6256
6252
|
schedules?: string[];
|
|
6257
6253
|
location?: LocationConfig;
|
|
6258
6254
|
additionalData?: Record<string, unknown>;
|
|
6255
|
+
userPrompt?: string;
|
|
6259
6256
|
}
|
|
6260
6257
|
interface ExtractOptions extends Omit<ExtractOptionsInternal, "navigationMode" | "entity"> {
|
|
6261
6258
|
navigationMode?: NavigationMode;
|
|
@@ -6274,6 +6271,7 @@ interface PreparedExtraction {
|
|
|
6274
6271
|
}) => PreparedExtraction;
|
|
6275
6272
|
bypassPreview: () => PreparedExtraction;
|
|
6276
6273
|
setLocation: (options: LocationConfig) => PreparedExtraction;
|
|
6274
|
+
withPrompt: (prompt: string) => PreparedExtraction;
|
|
6277
6275
|
create: () => Promise<CreatedExtraction>;
|
|
6278
6276
|
}
|
|
6279
6277
|
interface RunWorkflowOptions {
|
|
@@ -6311,6 +6309,7 @@ declare class ExtractionBuilderService {
|
|
|
6311
6309
|
private _jobId;
|
|
6312
6310
|
private _notificationOptions;
|
|
6313
6311
|
private _monitoringOptions;
|
|
6312
|
+
private _userPrompt;
|
|
6314
6313
|
get options(): ExtractOptionsInternal;
|
|
6315
6314
|
get notificationOptions(): NotificationOptions | undefined;
|
|
6316
6315
|
get monitoringOptions(): WorkflowMonitoringConfig | undefined;
|
|
@@ -6327,6 +6326,7 @@ declare class ExtractionBuilderService {
|
|
|
6327
6326
|
schedules: string[];
|
|
6328
6327
|
}): PreparedExtraction;
|
|
6329
6328
|
setLocation(options: LocationConfig): PreparedExtraction;
|
|
6329
|
+
withPrompt(prompt: string): PreparedExtraction;
|
|
6330
6330
|
create(): Promise<CreatedExtraction>;
|
|
6331
6331
|
waitForReady(options?: WaitForReadyOptions): Promise<GetWorkflowResponse>;
|
|
6332
6332
|
run(options?: RunWorkflowOptions): Promise<FinishedExtraction>;
|
package/dist/index.js
CHANGED
|
@@ -4427,19 +4427,41 @@ var ExtractionService = class {
|
|
|
4427
4427
|
);
|
|
4428
4428
|
}
|
|
4429
4429
|
let workflowId;
|
|
4430
|
-
const
|
|
4431
|
-
|
|
4432
|
-
{
|
|
4433
|
-
|
|
4434
|
-
|
|
4435
|
-
|
|
4430
|
+
const isAgenticNavigation = config.navigationMode === "agentic-navigation";
|
|
4431
|
+
if (isAgenticNavigation) {
|
|
4432
|
+
if (!config.userPrompt) {
|
|
4433
|
+
throw new KadoaSdkException(
|
|
4434
|
+
"userPrompt is required when navigationMode is 'agentic-navigation'",
|
|
4435
|
+
{
|
|
4436
|
+
code: "VALIDATION_ERROR",
|
|
4437
|
+
details: { navigationMode: config.navigationMode }
|
|
4438
|
+
}
|
|
4439
|
+
);
|
|
4436
4440
|
}
|
|
4437
|
-
|
|
4441
|
+
}
|
|
4442
|
+
let resolvedEntity;
|
|
4443
|
+
if (isAgenticNavigation) {
|
|
4444
|
+
const entityConfig = options.entity || "ai-detection";
|
|
4445
|
+
resolvedEntity = {
|
|
4446
|
+
entity: typeof entityConfig === "object" && "name" in entityConfig ? entityConfig.name : void 0,
|
|
4447
|
+
fields: typeof entityConfig === "object" && "fields" in entityConfig ? entityConfig.fields : []
|
|
4448
|
+
};
|
|
4449
|
+
} else {
|
|
4450
|
+
resolvedEntity = await this.entityResolverService.resolveEntity(
|
|
4451
|
+
options.entity || "ai-detection",
|
|
4452
|
+
{
|
|
4453
|
+
link: config.urls[0],
|
|
4454
|
+
location: config.location,
|
|
4455
|
+
navigationMode: config.navigationMode
|
|
4456
|
+
}
|
|
4457
|
+
);
|
|
4458
|
+
}
|
|
4438
4459
|
const hasNotifications = !!config.notifications;
|
|
4439
4460
|
const workflowRequest = {
|
|
4440
4461
|
...config,
|
|
4441
4462
|
fields: resolvedEntity.fields,
|
|
4442
|
-
...resolvedEntity.entity !== void 0 ? { entity: resolvedEntity.entity } : {}
|
|
4463
|
+
...resolvedEntity.entity !== void 0 ? { entity: resolvedEntity.entity } : {},
|
|
4464
|
+
...config.userPrompt ? { userPrompt: config.userPrompt } : {}
|
|
4443
4465
|
};
|
|
4444
4466
|
const result = await this.workflowsCoreService.create(workflowRequest);
|
|
4445
4467
|
workflowId = result.id;
|
|
@@ -4627,20 +4649,46 @@ var ExtractionBuilderService = class {
|
|
|
4627
4649
|
this._options.location = options;
|
|
4628
4650
|
return this;
|
|
4629
4651
|
}
|
|
4652
|
+
withPrompt(prompt) {
|
|
4653
|
+
assert__default.default(this._options, "Options are not set");
|
|
4654
|
+
this._userPrompt = prompt;
|
|
4655
|
+
this._options.userPrompt = prompt;
|
|
4656
|
+
return this;
|
|
4657
|
+
}
|
|
4630
4658
|
async create() {
|
|
4631
4659
|
assert__default.default(this._options, "Options are not set");
|
|
4632
4660
|
const { urls, name, description, navigationMode, entity } = this.options;
|
|
4661
|
+
const isAgenticNavigation = navigationMode === "agentic-navigation";
|
|
4662
|
+
if (isAgenticNavigation) {
|
|
4663
|
+
if (!this._userPrompt) {
|
|
4664
|
+
throw new KadoaSdkException(
|
|
4665
|
+
"userPrompt is required when navigationMode is 'agentic-navigation'",
|
|
4666
|
+
{
|
|
4667
|
+
code: "VALIDATION_ERROR",
|
|
4668
|
+
details: { navigationMode }
|
|
4669
|
+
}
|
|
4670
|
+
);
|
|
4671
|
+
}
|
|
4672
|
+
}
|
|
4633
4673
|
const isRealTime = this._options.interval === "REAL_TIME";
|
|
4634
4674
|
const useSelectorMode = isRealTime && entity === "ai-detection";
|
|
4635
|
-
|
|
4636
|
-
|
|
4637
|
-
{
|
|
4638
|
-
|
|
4639
|
-
|
|
4640
|
-
|
|
4641
|
-
|
|
4642
|
-
|
|
4643
|
-
|
|
4675
|
+
let resolvedEntity;
|
|
4676
|
+
if (isAgenticNavigation) {
|
|
4677
|
+
resolvedEntity = {
|
|
4678
|
+
entity: typeof entity === "object" && "name" in entity ? entity.name : void 0,
|
|
4679
|
+
fields: typeof entity === "object" && "fields" in entity ? entity.fields : []
|
|
4680
|
+
};
|
|
4681
|
+
} else {
|
|
4682
|
+
resolvedEntity = await this.entityResolverService.resolveEntity(
|
|
4683
|
+
entity,
|
|
4684
|
+
{
|
|
4685
|
+
link: urls[0],
|
|
4686
|
+
location: this._options.location,
|
|
4687
|
+
navigationMode,
|
|
4688
|
+
selectorMode: useSelectorMode
|
|
4689
|
+
}
|
|
4690
|
+
);
|
|
4691
|
+
}
|
|
4644
4692
|
const workflow = await this.workflowsCoreService.create({
|
|
4645
4693
|
urls,
|
|
4646
4694
|
name,
|
|
@@ -4654,7 +4702,8 @@ var ExtractionBuilderService = class {
|
|
|
4654
4702
|
interval: this._options.interval,
|
|
4655
4703
|
schedules: this._options.schedules,
|
|
4656
4704
|
additionalData: this._options.additionalData,
|
|
4657
|
-
bypassPreview: this._options.bypassPreview
|
|
4705
|
+
bypassPreview: this._options.bypassPreview,
|
|
4706
|
+
userPrompt: this._userPrompt
|
|
4658
4707
|
});
|
|
4659
4708
|
if (this._notificationOptions) {
|
|
4660
4709
|
await this.notificationSetupService.setup({
|
|
@@ -5178,7 +5227,7 @@ var WSS_API_URI = process.env.KADOA_WSS_API_URI ?? "wss://realtime.kadoa.com";
|
|
|
5178
5227
|
var REALTIME_API_URI = process.env.KADOA_REALTIME_API_URI ?? "https://realtime.kadoa.com";
|
|
5179
5228
|
|
|
5180
5229
|
// src/version.ts
|
|
5181
|
-
var SDK_VERSION = "0.
|
|
5230
|
+
var SDK_VERSION = "0.19.0";
|
|
5182
5231
|
var SDK_NAME = "kadoa-node-sdk";
|
|
5183
5232
|
var SDK_LANGUAGE = "node";
|
|
5184
5233
|
|
|
@@ -5783,6 +5832,48 @@ var WorkflowsCoreService = class {
|
|
|
5783
5832
|
async create(input) {
|
|
5784
5833
|
validateAdditionalData(input.additionalData);
|
|
5785
5834
|
const domainName = new URL(input.urls[0]).hostname;
|
|
5835
|
+
if (input.navigationMode === "agentic-navigation") {
|
|
5836
|
+
if (!input.userPrompt) {
|
|
5837
|
+
throw new KadoaSdkException(
|
|
5838
|
+
"userPrompt is required when navigationMode is 'agentic-navigation'",
|
|
5839
|
+
{
|
|
5840
|
+
code: "VALIDATION_ERROR",
|
|
5841
|
+
details: { navigationMode: input.navigationMode }
|
|
5842
|
+
}
|
|
5843
|
+
);
|
|
5844
|
+
}
|
|
5845
|
+
const agenticRequest = {
|
|
5846
|
+
urls: input.urls,
|
|
5847
|
+
navigationMode: "agentic-navigation",
|
|
5848
|
+
name: input.name ?? domainName,
|
|
5849
|
+
description: input.description,
|
|
5850
|
+
userPrompt: input.userPrompt,
|
|
5851
|
+
schemaId: input.schemaId,
|
|
5852
|
+
entity: input.entity,
|
|
5853
|
+
fields: input.fields,
|
|
5854
|
+
bypassPreview: input.bypassPreview ?? true,
|
|
5855
|
+
tags: input.tags,
|
|
5856
|
+
interval: input.interval,
|
|
5857
|
+
monitoring: input.monitoring,
|
|
5858
|
+
location: input.location,
|
|
5859
|
+
autoStart: input.autoStart,
|
|
5860
|
+
schedules: input.schedules,
|
|
5861
|
+
additionalData: input.additionalData
|
|
5862
|
+
};
|
|
5863
|
+
const response2 = await this.workflowsApi.v4WorkflowsPost({
|
|
5864
|
+
createWorkflowBody: agenticRequest
|
|
5865
|
+
});
|
|
5866
|
+
const workflowId2 = response2.data?.workflowId;
|
|
5867
|
+
if (!workflowId2) {
|
|
5868
|
+
throw new KadoaSdkException(ERROR_MESSAGES.NO_WORKFLOW_ID, {
|
|
5869
|
+
code: "INTERNAL_ERROR",
|
|
5870
|
+
details: {
|
|
5871
|
+
response: response2.data
|
|
5872
|
+
}
|
|
5873
|
+
});
|
|
5874
|
+
}
|
|
5875
|
+
return { id: workflowId2 };
|
|
5876
|
+
}
|
|
5786
5877
|
const request = {
|
|
5787
5878
|
urls: input.urls,
|
|
5788
5879
|
name: input.name ?? domainName,
|