@devkong/cli 0.0.32 → 0.0.34

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.
Files changed (40) hide show
  1. package/assets/python-install.bat +3 -1
  2. package/assets/python-install.sh +3 -1
  3. package/index.js +3511 -3783
  4. package/package.json +1 -1
  5. package/packages/kong-cli/src/common/extensionContract.d.ts +7 -1
  6. package/packages/kong-cli/src/common/profile.d.ts +6 -5
  7. package/packages/kong-cli/src/common/utils.d.ts +2 -2
  8. package/packages/kong-spec/src/index.d.ts +2 -1
  9. package/packages/kong-spec/src/lib/kongServerless.d.ts +2 -1
  10. package/packages/kong-spec/src/lib/kongSession.d.ts +2 -1
  11. package/packages/kong-spec/src/lib/kongSpec.d.ts +25 -13
  12. package/packages/kong-spec/src/lib/kongSpecBuild.d.ts +6 -5
  13. package/packages/kong-spec/src/lib/kongSpecDoc.d.ts +2 -0
  14. package/packages/kong-spec/src/lib/kongSpecMigrate.d.ts +2 -0
  15. package/packages/kong-spec/src/lib/kongSpecRef.d.ts +2 -1
  16. package/packages/kong-spec/src/lib/kongSpecToServerless.d.ts +1 -1
  17. package/packages/kong-spec/src/lib/kongSpecUtils.d.ts +3 -3
  18. package/packages/kong-ts/src/index.d.ts +2 -0
  19. package/packages/kong-ts/src/lib/dataGuard.d.ts +11 -0
  20. package/packages/kong-ts/src/lib/jq.d.ts +1 -1
  21. package/packages/kong-ts/src/lib/tenant.d.ts +1 -1
  22. package/packages/kong-ts-contract/src/index.d.ts +6 -0
  23. package/packages/kong-ts-contract/src/lib/appAliasDetails.d.ts +6 -0
  24. package/packages/kong-ts-contract/src/lib/appAliasUse.d.ts +5 -0
  25. package/packages/kong-ts-contract/src/lib/appAliasUseDetails.d.ts +7 -0
  26. package/packages/kong-ts-contract/src/lib/appDocument.d.ts +2 -0
  27. package/packages/kong-ts-contract/src/lib/appDocumentBuild.d.ts +3 -0
  28. package/packages/kong-ts-contract/src/lib/appDocumentSnapshot.d.ts +1 -9
  29. package/packages/kong-ts-contract/src/lib/appDocumentSnapshotDetails.d.ts +5 -0
  30. package/packages/kong-ts-contract/src/lib/appExtensionAliasDetails.d.ts +2 -5
  31. package/packages/kong-ts-contract/src/lib/appExtensionAliasUse.d.ts +2 -4
  32. package/packages/kong-ts-contract/src/lib/appExtensionAliasUseDetails.d.ts +2 -4
  33. package/packages/kong-ts-contract/src/lib/appExtensionSnapshotDetails.d.ts +2 -7
  34. package/packages/kong-ts-contract/src/lib/appProcessAliasDetails.d.ts +7 -4
  35. package/packages/kong-ts-contract/src/lib/appProcessAliasUse.d.ts +2 -6
  36. package/packages/kong-ts-contract/src/lib/appProcessAliasUseDetails.d.ts +3 -0
  37. package/packages/kong-ts-contract/src/lib/appSnapshotDetails.d.ts +8 -0
  38. package/packages/kong-ts-contract/src/lib/sdkAlias.d.ts +16 -0
  39. package/packages/kong-ts-contract/src/lib/sdkExtensionAlias.d.ts +3 -16
  40. package/packages/kong-ts-contract/src/lib/sdkQuota.d.ts +1 -0
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@devkong/cli",
3
- "version": "0.0.32",
3
+ "version": "0.0.34",
4
4
  "type": "commonjs",
5
5
  "main": "./index.js",
6
6
  "typings": "./index.d.ts",
@@ -1 +1,7 @@
1
- export declare function getExtensionContract(filePath: string): object;
1
+ import { JSONSchema7 } from "json-schema";
2
+ interface ExtensionContract {
3
+ input: JSONSchema7;
4
+ output: JSONSchema7;
5
+ }
6
+ export declare function getExtensionContract(filePath: string): ExtensionContract;
7
+ export {};
@@ -4,8 +4,9 @@ export interface Profile {
4
4
  userName: string;
5
5
  }
6
6
  export type ProfileName = "default" | string;
7
- export type ConfigProfiles = Record<ProfileName, Profile>;
8
- export declare function loadProfiles(): ConfigProfiles;
9
- export declare function saveProfiles(profiles: ConfigProfiles): void;
10
- export declare function getProfile(profileName?: string): Profile;
11
- export declare function printProfile(profile: string): void;
7
+ export type ProfileMap = Record<ProfileName, Profile>;
8
+ export declare function createEmptyProfile(): Profile;
9
+ export declare function loadProfiles(): ProfileMap;
10
+ export declare function saveProfiles(profiles: ProfileMap): void;
11
+ export declare function getProfile(name: ProfileName): Profile;
12
+ export declare function printProfile(name: ProfileName): void;
@@ -1,4 +1,4 @@
1
- import { ShortUUID } from "@kong/ts";
1
+ import { Optional, ShortUUID } from "@kong/ts";
2
2
  export interface ILogger {
3
3
  info(message: string): any;
4
4
  debug(message: string): any;
@@ -6,7 +6,7 @@ export interface ILogger {
6
6
  warn(message: string): any;
7
7
  }
8
8
  export declare function env(key: string): string;
9
- export declare function optionalEnv(key: string): string;
9
+ export declare function optionalEnv(key: string): Optional<string>;
10
10
  export declare function loadJsonFile<T>(filePath: string): T;
11
11
  export declare function resolveProjectPath(fileName: string): string;
12
12
  export declare function generateShortId(): ShortUUID;
@@ -1,12 +1,13 @@
1
1
  export { makeServerlessJavaAppProps, serverlessFlowBuilder, stringifyServerlessFlow, } from "./lib/kongServerless";
2
2
  export type { FloweyServerlessBuilder } from "./lib/kongServerless";
3
3
  export type { KongSpecJobSession } from "./lib/kongSession";
4
- export type { KongSpecAction, KongSpecActionCallFunction, KongSpecActionCallProcess, KongSpecActionSendEvent, KongSpecAppend, KongSpecBranch, KongSpecCache, KongSpecCallModel, KongSpecCircuitBreaker, KongSpecCondition, KongSpecEffect, KongSpecEffectStatus, KongSpecError, KongSpecEventBroker, KongSpecEventConnection, KongSpecFeatureCompensation, KongSpecFlow, KongSpecFunctionRef, KongSpecHowToInvoke, KongSpecHowToOutput, KongSpecProcessRef, KongSpecRecord, KongSpecRecordHeader, KongSpecRetry, KongSpecState, KongSpecStateCallFunction, KongSpecStateCallProcess, KongSpecStateCompensate, KongSpecStateExit, KongSpecStateFail, KongSpecStateForeach, KongSpecStateInject, KongSpecStateParallel, KongSpecStateSendEvent, KongSpecStateStart, KongSpecStateSucceed, KongSpecStateSwitch, KongSpecStateWaitEvent, KongSpecSupportsActions, KongSpecSupportsErrors, KongSpecSupportsTransition, } from "./lib/kongSpec";
4
+ export type { KongSpecAction, KongSpecActionCallFunction, KongSpecActionCallProcess, KongSpecActionSendEvent, KongSpecAppend, KongSpecBranch, KongSpecCache, KongSpecCallModel, KongSpecCircuitBreaker, KongSpecCondition, KongSpecEffect, KongSpecEffectStatus, KongSpecError, KongSpecEventBroker, KongSpecEventConnection, KongSpecFeatureCompensation, KongSpecFlow, KongSpecFunctionRef, KongSpecHowToInvoke, KongSpecHowToOutput, KongSpecProcessRef, KongSpecRecord, KongSpecRecordHeader, KongSpecRetry, KongSpecRule, KongSpecState, KongSpecStateCallFunction, KongSpecStateCallProcess, KongSpecStateCompensate, KongSpecStateDelay, KongSpecStateExit, KongSpecStateFail, KongSpecStateForeach, KongSpecStateInject, KongSpecStateParallel, KongSpecStateRule, KongSpecStateSendEvent, KongSpecStateStart, KongSpecStateSucceed, KongSpecStateSwitch, KongSpecStateWaitEvent, KongSpecSupportsActions, KongSpecSupportsErrors, KongSpecSupportsTransition, } from "./lib/kongSpec";
5
5
  export { KongSpecBuild } from "./lib/kongSpecBuild";
6
6
  export { KongSpecDoc } from "./lib/kongSpecDoc";
7
7
  export { KongSpecEnv } from "./lib/kongSpecEnv";
8
8
  export type { KongSpecFile } from "./lib/kongSpecFile";
9
9
  export type { KongSpecLayout, KongSpecLayoutPosition, KongSpecLayoutPositionKey, } from "./lib/kongSpecLayout";
10
+ export { migrate } from "./lib/kongSpecMigrate";
10
11
  export { nameGenerator } from "./lib/kongSpecName";
11
12
  export { normalizeName } from "./lib/kongSpecNormalize";
12
13
  export { KongSpecRef } from "./lib/kongSpecRef";
@@ -6,8 +6,9 @@ export declare const copyServerlessFlow: (workflow: Specification.Workflow) => S
6
6
  export declare function stringifyServerlessFlow(workflow: Specification.Workflow): string;
7
7
  interface ServerlessJavaAppPropsGenerator {
8
8
  tenant: SessionTenant;
9
+ processTitle: string;
9
10
  processName: string;
10
11
  events: Specification.Eventdef[];
11
12
  }
12
- export declare function makeServerlessJavaAppProps({ tenant, processName, events, }: ServerlessJavaAppPropsGenerator): string;
13
+ export declare function makeServerlessJavaAppProps({ tenant, processTitle, processName, events, }: ServerlessJavaAppPropsGenerator): string;
13
14
  export {};
@@ -5,7 +5,9 @@ export declare enum KongSpecSessionAgent {
5
5
  interface KongSpecSession {
6
6
  agent: KongSpecSessionAgent;
7
7
  id: TraceParent;
8
+ rootId: Optional<KongSpecSession["id"]>;
8
9
  parentId: Optional<KongSpecSession["id"]>;
10
+ rootCreated: UtcDateTime;
9
11
  created: UtcDateTime;
10
12
  }
11
13
  export declare enum KongSpecJobSessionExecutionMode {
@@ -23,7 +25,6 @@ export interface KongSpecJobSession extends KongSpecSession {
23
25
  businessKey: BusinessKey;
24
26
  source: string;
25
27
  tenant: SessionTenant;
26
- partition: number;
27
28
  topic: string;
28
29
  metadata: JsonObject;
29
30
  priority: KongSpecJobSessionPriority;
@@ -1,4 +1,4 @@
1
- import { Distinct, Duration8601, JqFilter, JqObject, JqText, JsonArray, JsonObject, Optional, SessionTenant, ShortUUID } from "@kong/ts";
1
+ import { DataGuard, Distinct, Duration8601, JqFilter, JqObject, JqText, JsonObject, JsonText, Optional, SessionTenant, ShortUUID } from "@kong/ts";
2
2
  import { JSONSchema7 } from "json-schema";
3
3
  export type KongSpecAppend = "list" | "last";
4
4
  export interface KongSpecFunctionRef {
@@ -14,7 +14,7 @@ export interface KongSpecProcessRef {
14
14
  interface KongSpecStateBase {
15
15
  id: Distinct<string, "KongSpecStateId">;
16
16
  name: string;
17
- type: "start" | "succeed" | "fail" | "inject" | "compensate" | "foreach" | "callFunction" | "parallel" | "switch" | "sendEvent" | "waitEvent" | "callProcess";
17
+ type: "start" | "succeed" | "fail" | "inject" | "compensate" | "foreach" | "callFunction" | "delay" | "parallel" | "rule" | "switch" | "sendEvent" | "waitEvent" | "callProcess";
18
18
  }
19
19
  export interface KongSpecSupportsTransition {
20
20
  next: KongSpecStateBase["id"] | null;
@@ -27,6 +27,7 @@ export interface KongSpecError extends KongSpecSupportsTransition {
27
27
  export interface KongSpecCache {
28
28
  enabled: boolean;
29
29
  key: JqFilter;
30
+ failOnMiss: JqFilter;
30
31
  ttl: Duration8601;
31
32
  onFailure: "RETRY" | "SKIP";
32
33
  }
@@ -58,22 +59,16 @@ export interface KongSpecEffectProducer {
58
59
  id: string;
59
60
  type: string;
60
61
  }
61
- export interface KongSpecEffectAck {
62
- producer: KongSpecEffectProducer;
63
- seqNum: number;
64
- }
65
62
  export declare enum KongSpecEffectStatus {
66
63
  FAILED = "FAILED",
67
64
  SUCCEEDED = "SUCCEEDED"
68
65
  }
69
66
  export interface KongSpecEffect {
70
67
  status: KongSpecEffectStatus;
71
- ack: KongSpecEffectAck;
72
68
  usage: Record<string, unknown>;
73
69
  data: JsonObject | null;
74
70
  }
75
71
  export interface KongSpecHowToOutput {
76
- ack: KongSpecEffectAck;
77
72
  filter: JqFilter;
78
73
  destinations: string[];
79
74
  }
@@ -83,10 +78,13 @@ export interface KongSpecSupportsOutputFilter {
83
78
  export interface KongSpecSupportsOutputAppend {
84
79
  outputAppend: Array<KongSpecAppend>;
85
80
  }
81
+ export interface KongSpecSupportsDataGuards {
82
+ guards: DataGuard[];
83
+ }
86
84
  export interface KongSpecSupportsOutputSample {
87
- outputSample: Optional<JsonObject | JsonArray>;
85
+ outputSample: Optional<JsonText>;
88
86
  }
89
- export interface KongSpecCallModel extends KongSpecSupportsInput, KongSpecSupportsOutputFilter, KongSpecSupportsOutputAppend, KongSpecSupportsOutputSample, KongSpecSupportsInvoke {
87
+ export interface KongSpecCallModel extends KongSpecSupportsInput, KongSpecSupportsOutputFilter, KongSpecSupportsOutputAppend, KongSpecSupportsOutputSample, KongSpecSupportsDataGuards, KongSpecSupportsInvoke {
90
88
  }
91
89
  export interface KongSpecSupportsErrors {
92
90
  errors: KongSpecError[];
@@ -106,7 +104,7 @@ export interface KongSpecCanBeUsedForCompensation {
106
104
  export interface KongSpecStateStart extends KongSpecStateBase, KongSpecSupportsTransition, KongSpecSupportsTimeout {
107
105
  type: "start";
108
106
  inputSchema: JSONSchema7;
109
- inputSample: JsonObject;
107
+ inputSample: JsonText;
110
108
  }
111
109
  export interface KongSpecStateSucceed extends KongSpecStateBase, KongSpecSupportsOutputFilter {
112
110
  type: "succeed";
@@ -120,7 +118,7 @@ export interface KongSpecStateInject extends KongSpecStateBase, KongSpecSupports
120
118
  export interface KongSpecStateCompensate extends KongSpecStateBase, KongSpecSupportsTransition {
121
119
  type: "compensate";
122
120
  }
123
- export interface KongSpecCondition extends KongSpecSupportsTransition, KongSpecSupportsTransition {
121
+ export interface KongSpecCondition extends KongSpecSupportsTransition {
124
122
  id: Distinct<string, "KongSpecConditionId">;
125
123
  description: string;
126
124
  match: JqFilter;
@@ -129,6 +127,16 @@ export interface KongSpecStateSwitch extends KongSpecStateBase, KongSpecCanBeUse
129
127
  type: "switch";
130
128
  conditions: KongSpecCondition[];
131
129
  }
130
+ export interface KongSpecRule extends KongSpecSupportsOutputFilter {
131
+ id: Distinct<string, "KongSpecRuleId">;
132
+ description: string;
133
+ match: JqFilter;
134
+ }
135
+ export interface KongSpecStateRule extends KongSpecStateBase, KongSpecCanBeUsedForCompensation, KongSpecSupportsTransition {
136
+ type: "rule";
137
+ rules: KongSpecRule[];
138
+ nextOnMatch: KongSpecSupportsTransition["next"];
139
+ }
132
140
  export interface KongSpecEventBroker {
133
141
  host: string;
134
142
  port: number;
@@ -160,6 +168,10 @@ export interface KongSpecStateCallProcess extends KongSpecStateBase, KongSpecSup
160
168
  type: "callProcess";
161
169
  ref: KongSpecProcessRef;
162
170
  }
171
+ export interface KongSpecStateDelay extends KongSpecStateBase, KongSpecSupportsTransition {
172
+ type: "delay";
173
+ value: Duration8601;
174
+ }
163
175
  export interface KongSpecStateCallFunction extends KongSpecStateBase, KongSpecSupportsTransition, KongSpecSupportsErrors, KongSpecFeatureCompensation, KongSpecCanBeUsedForCompensation, KongSpecSupportsCompensatedBy, KongSpecCallModel {
164
176
  type: "callFunction";
165
177
  ref: KongSpecFunctionRef;
@@ -201,7 +213,7 @@ export interface KongSpecStateParallel extends KongSpecStateBase, KongSpecSuppor
201
213
  branches: KongSpecBranch[];
202
214
  completionType: "allOf" | "atLeast";
203
215
  }
204
- export type KongSpecState = KongSpecStateStart | KongSpecStateSucceed | KongSpecStateFail | KongSpecStateInject | KongSpecStateCompensate | KongSpecStateForeach | KongSpecStateCallFunction | KongSpecStateCallProcess | KongSpecStateSwitch | KongSpecStateSendEvent | KongSpecStateWaitEvent | KongSpecStateParallel;
216
+ export type KongSpecState = KongSpecStateCallFunction | KongSpecStateCallProcess | KongSpecStateCompensate | KongSpecStateDelay | KongSpecStateFail | KongSpecStateForeach | KongSpecStateInject | KongSpecStateParallel | KongSpecStateRule | KongSpecStateSendEvent | KongSpecStateStart | KongSpecStateSucceed | KongSpecStateSwitch | KongSpecStateWaitEvent;
205
217
  export type KongSpecStateExit = KongSpecStateFail | KongSpecStateSucceed;
206
218
  export interface KongSpecFlow {
207
219
  id: Distinct<ShortUUID, "KongSpecFlowId">;
@@ -1,6 +1,5 @@
1
- import { JqObject, SessionTenant, Timezone } from "@kong/ts";
2
- import { KongSpecJobSession } from "./kongSession";
3
- import { KongSpecActionCallFunction, KongSpecActionSendEvent, KongSpecBranch, KongSpecCallModel, KongSpecCondition, KongSpecError, KongSpecEventBroker, KongSpecFlow, KongSpecFunctionRef, KongSpecHowToInvoke, KongSpecHowToOutput, KongSpecProcessRef, KongSpecRecordHeader, KongSpecStateCallFunction, KongSpecStateCallProcess, KongSpecStateCompensate, KongSpecStateFail, KongSpecStateForeach, KongSpecStateInject, KongSpecStateParallel, KongSpecStateSendEvent, KongSpecStateStart, KongSpecStateSucceed, KongSpecStateSwitch, KongSpecStateWaitEvent } from "./kongSpec";
1
+ import { JqObject, Optional } from "@kong/ts";
2
+ import { KongSpecActionCallFunction, KongSpecActionSendEvent, KongSpecBranch, KongSpecCallModel, KongSpecCondition, KongSpecError, KongSpecEventBroker, KongSpecFlow, KongSpecFunctionRef, KongSpecHowToInvoke, KongSpecHowToOutput, KongSpecProcessRef, KongSpecRecordHeader, KongSpecRule, KongSpecState, KongSpecStateCallFunction, KongSpecStateCallProcess, KongSpecStateCompensate, KongSpecStateDelay, KongSpecStateFail, KongSpecStateForeach, KongSpecStateInject, KongSpecStateParallel, KongSpecStateRule, KongSpecStateSendEvent, KongSpecStateStart, KongSpecStateSucceed, KongSpecStateSwitch, KongSpecStateWaitEvent } from "./kongSpec";
4
3
  export declare class KongSpecBuild {
5
4
  flow(id: KongSpecFlow["id"]): KongSpecFlow;
6
5
  startState(overrides?: Partial<KongSpecStateStart>): KongSpecStateStart;
@@ -9,15 +8,18 @@ export declare class KongSpecBuild {
9
8
  callFunctionState(ref: KongSpecFunctionRef, overrides?: Partial<KongSpecStateCallFunction>): KongSpecStateCallFunction;
10
9
  callFunctionAction(ref: KongSpecFunctionRef, overrides?: Partial<KongSpecActionCallFunction>): KongSpecActionCallFunction;
11
10
  callProcessState(ref: KongSpecProcessRef, overrides?: Partial<KongSpecStateCallProcess>): KongSpecStateCallProcess;
11
+ delayState(overrides?: Partial<KongSpecStateDelay>): KongSpecStateDelay;
12
12
  compensateState(overrides?: Partial<KongSpecStateCompensate>): KongSpecStateCompensate;
13
13
  failState(overrides?: Partial<KongSpecStateFail>): KongSpecStateFail;
14
14
  injectState(overrides?: Partial<KongSpecStateInject>): KongSpecStateInject;
15
- succeedState(overrides?: Partial<KongSpecStateSucceed>): KongSpecStateSucceed;
15
+ succeedState(afterState: Optional<KongSpecState["name"]>, overrides?: Partial<KongSpecStateSucceed>): KongSpecStateSucceed;
16
16
  sendEventState(overrides?: Partial<KongSpecStateSendEvent>): KongSpecStateSendEvent;
17
17
  sendEventAction(overrides?: Partial<KongSpecActionSendEvent>): KongSpecActionSendEvent;
18
18
  waitEventState(overrides?: Partial<KongSpecStateWaitEvent>): KongSpecStateWaitEvent;
19
19
  switchState(overrides?: Partial<KongSpecStateSwitch>): KongSpecStateSwitch;
20
+ ruleState(overrides?: Partial<KongSpecStateRule>): KongSpecStateRule;
20
21
  condition(overrides?: Partial<KongSpecCondition>): KongSpecCondition;
22
+ rule(overrides?: Partial<KongSpecRule>): KongSpecRule;
21
23
  branch(id: KongSpecBranch["id"], overrides?: Partial<KongSpecBranch>): KongSpecBranch;
22
24
  broker(overrides?: Partial<KongSpecEventBroker>): KongSpecEventBroker;
23
25
  recordHeader(overrides?: Partial<KongSpecRecordHeader>): KongSpecRecordHeader;
@@ -28,5 +30,4 @@ export declare class KongSpecBuild {
28
30
  circuitBreaker(overrides?: Partial<KongSpecHowToInvoke["circuitBreaker"]>): KongSpecHowToInvoke["circuitBreaker"];
29
31
  cache(overrides?: Partial<KongSpecHowToInvoke["cache"]>): KongSpecHowToInvoke["cache"];
30
32
  callModel(payload: JqObject): KongSpecCallModel;
31
- session(tenant: SessionTenant, timezone: Timezone, overrides?: Partial<KongSpecJobSession>): KongSpecJobSession;
32
33
  }
@@ -8,6 +8,7 @@ export declare class KongSpecDoc {
8
8
  static aboutCache: string;
9
9
  static aboutRetry: string;
10
10
  static aboutConditions: string;
11
+ static aboutRules: string;
11
12
  static aboutResilience: string;
12
13
  static aboutLimits: string;
13
14
  static aboutIdentify: string;
@@ -22,5 +23,6 @@ export declare class KongSpecDoc {
22
23
  static aboutStart: string;
23
24
  static aboutSucceed: string;
24
25
  static aboutSwitch: string;
26
+ static aboutRule: string;
25
27
  static aboutWaitEvent: string;
26
28
  }
@@ -0,0 +1,2 @@
1
+ import { KongSpecFile } from "./kongSpecFile";
2
+ export declare function migrate(file: KongSpecFile): Promise<KongSpecFile>;
@@ -1,8 +1,9 @@
1
1
  import { Optional, SessionTenant } from "@kong/ts";
2
- import { KongSpecAction, KongSpecBranch, KongSpecCondition, KongSpecError, KongSpecFunctionRef, KongSpecProcessRef, KongSpecState } from "./kongSpec";
2
+ import { KongSpecAction, KongSpecBranch, KongSpecCondition, KongSpecError, KongSpecFunctionRef, KongSpecProcessRef, KongSpecRule, KongSpecState } from "./kongSpec";
3
3
  export declare class KongSpecRef {
4
4
  static newStateId(): KongSpecState["id"];
5
5
  static newConditionId(): KongSpecCondition["id"];
6
+ static newRuleId(): KongSpecRule["id"];
6
7
  static newBranchId(): KongSpecBranch["id"];
7
8
  static newErrorId(): KongSpecError["id"];
8
9
  static newActionId(): KongSpecAction["id"];
@@ -7,5 +7,5 @@ interface ConvertSpecToServerlessResult {
7
7
  workflow: Specification.Workflow;
8
8
  inputSchema: JSONSchema7;
9
9
  }
10
- export declare function convertSpecToServerless(type: "main", tenant: SessionTenant, specFlow: KongSpecFlow, aliasName: KongSpecProcessRef["aliasName"], env: KongSpecEnv): ConvertSpecToServerlessResult;
10
+ export declare function convertSpecToServerless(type: "v1", tenant: SessionTenant, specFlow: KongSpecFlow, aliasName: KongSpecProcessRef["aliasName"], env: KongSpecEnv): ConvertSpecToServerlessResult;
11
11
  export {};
@@ -1,11 +1,11 @@
1
- import { JqFilter, JsonObject } from "@kong/ts";
1
+ import { JqFilter, JsonText } from "@kong/ts";
2
2
  import { KongSpecAction, KongSpecFlow, KongSpecState } from "./kongSpec";
3
3
  interface FloweyTraverseStateTestItem {
4
4
  id: KongSpecState["id"] | KongSpecAction["id"];
5
- source: "initial" | "errors" | "transition" | "conditions" | "compensateBy" | "actions" | "branches";
5
+ source: "initial" | "errors" | "transition" | "noMatchedRule" | "conditions" | "compensateBy" | "actions" | "branches";
6
6
  }
7
7
  export declare function traverseFlowUp(id: KongSpecState["id"] | KongSpecAction["id"], states: KongSpecFlow["states"], test: (current: FloweyTraverseStateTestItem) => boolean): boolean;
8
- export declare function outputAggregator(jq: (sample: JsonObject, filter: JqFilter) => Promise<string>): (flow: KongSpecFlow, targetRef: KongSpecState["id"] | KongSpecAction["id"], includeTarget?: boolean) => Promise<JsonObject>;
8
+ export declare function outputAggregator(jq: (sample: string, filter: JqFilter) => Promise<string>): (flow: KongSpecFlow, targetRef: KongSpecState["id"] | KongSpecAction["id"], includeTarget?: boolean) => Promise<JsonText>;
9
9
  export declare function getActions(state: KongSpecState): KongSpecAction[];
10
10
  export declare function findSourceState(states: KongSpecState[], targetRef: KongSpecState["id"]): import("@kong/ts").Distinct<string, "KongSpecStateId">;
11
11
  export {};
@@ -4,6 +4,8 @@ export type { BusinessKey } from "./lib/businessKey";
4
4
  export { CloudEvent } from "./lib/cloudEvent";
5
5
  export { textToColor } from "./lib/color";
6
6
  export { deepEquals, prepareTextForComparison, sameText, shadowEquals } from "./lib/compare";
7
+ export { DataGuardType } from "./lib/dataGuard";
8
+ export type { DataGuard } from "./lib/dataGuard";
7
9
  export { isDuration } from "./lib/duration";
8
10
  export type { Duration8601 } from "./lib/duration";
9
11
  export type { Entity } from "./lib/entity";
@@ -0,0 +1,11 @@
1
+ export declare enum DataGuardType {
2
+ NULL = "NULL",
3
+ EMPTY_TEXT = "EMPTY_TEXT",
4
+ WHITESPACES = "WHITESPACES",
5
+ EMPTY_OBJECT = "EMPTY_OBJECT",
6
+ EMPTY_ARRAY = "EMPTY_ARRAY"
7
+ }
8
+ export interface DataGuard {
9
+ type: DataGuardType;
10
+ arguments: Array<unknown>;
11
+ }
@@ -1,5 +1,5 @@
1
1
  import { Distinct, Primitive } from "./types";
2
- export type JqFilter = Distinct<Primitive, "JqExpression">;
2
+ export type JqFilter = Distinct<Primitive, "JqFilter">;
3
3
  export type JqText = Distinct<string, "JqText">;
4
4
  export interface JqObject {
5
5
  [key: string]: Primitive | JqText | JqObject | Array<JqObject> | null;
@@ -1,3 +1,3 @@
1
1
  import { Distinct } from "./types";
2
2
  export type SessionTenant = Distinct<string, "SessionTenant">;
3
- export declare function parseTenant(url: string): SessionTenant;
3
+ export declare function parseTenant(url: string, defaultTenant?: SessionTenant): SessionTenant;
@@ -1,3 +1,6 @@
1
+ export type { AppAliasDetails } from "./lib/appAliasDetails";
2
+ export type { AppAliasUse } from "./lib/appAliasUse";
3
+ export type { AppAliasUseDetails } from "./lib/appAliasUseDetails";
1
4
  export type { AppCheckpoint } from "./lib/appCheckpoint";
2
5
  export type { AppDevRequest } from "./lib/appDevRequest";
3
6
  export type { AppDocument } from "./lib/appDocument";
@@ -14,13 +17,16 @@ export type { AppPresignedUrl } from "./lib/appPresignedUrl";
14
17
  export type { AppProcessAlias } from "./lib/appProcessAlias";
15
18
  export type { AppProcessAliasDetails } from "./lib/appProcessAliasDetails";
16
19
  export type { AppProcessAliasUse } from "./lib/appProcessAliasUse";
20
+ export type { AppProcessAliasUseDetails } from "./lib/appProcessAliasUseDetails";
17
21
  export type { AppProcessInstanceId } from "./lib/appProcessInstanceId";
18
22
  export type { AppProcessStartRequest } from "./lib/appProcessStartRequest";
19
23
  export type { AppProject } from "./lib/appProject";
24
+ export type { AppSnapshotDetails } from "./lib/appSnapshotDetails";
20
25
  export type { AppTestCase } from "./lib/appTestCase";
21
26
  export type { AppTestCaseDetails } from "./lib/appTestCaseDetails";
22
27
  export type { AppTestCaseMatchFeature } from "./lib/appTestCaseMatchFeature";
23
28
  export type { AppTestResult } from "./lib/appTestResult";
24
29
  export type { AppWorkspace } from "./lib/appWorkspace";
30
+ export type { SdkAlias, SdkAliasInput, SdkAliasOutput } from "./lib/sdkAlias";
25
31
  export type { SdkExtensionAlias } from "./lib/sdkExtensionAlias";
26
32
  export type { SdkConcurrencyQuota, SdkQuotaName, SdkRateLimiterQuota } from "./lib/sdkQuota";
@@ -0,0 +1,6 @@
1
+ import { AppAlias } from "./appAlias";
2
+ import { SdkAlias } from "./sdkAlias";
3
+ export interface AppAliasDetails<T> extends AppAlias<T> {
4
+ inputSchema?: NonNullable<SdkAlias["input"]>["schema"];
5
+ outputSchema?: NonNullable<SdkAlias["input"]>["schema"];
6
+ }
@@ -0,0 +1,5 @@
1
+ import { AppSnapshot } from "./appSnapshot";
2
+ export interface AppAliasUse<T extends AppSnapshot> {
3
+ snapshot: T;
4
+ balance: number;
5
+ }
@@ -0,0 +1,7 @@
1
+ import { AppAliasUse } from "./appAliasUse";
2
+ import { AppSnapshot } from "./appSnapshot";
3
+ import { SdkAlias } from "./sdkAlias";
4
+ export interface AppAliasUseDetails<T extends AppSnapshot> extends AppAliasUse<T> {
5
+ inputFilter?: NonNullable<SdkAlias["input"]>["filter"];
6
+ outputFilter?: NonNullable<SdkAlias["output"]>["filter"];
7
+ }
@@ -2,8 +2,10 @@ import { KongSpecFlow } from "@kong/spec";
2
2
  import { Entity, Optional, User, UtcDateTime } from "@kong/ts";
3
3
  import { AppCheckpoint } from "./appCheckpoint";
4
4
  import { AppProject } from "./appProject";
5
+ import { AppWorkspace } from "./appWorkspace";
5
6
  export interface AppDocument extends Entity {
6
7
  id: KongSpecFlow["id"];
8
+ workspaceId: AppWorkspace["id"];
7
9
  projectId: AppProject["id"];
8
10
  title: string;
9
11
  checkpoint: Optional<AppCheckpoint["id"]>;
@@ -1,7 +1,10 @@
1
1
  import { UrlText, UtcDateTime } from "@kong/ts";
2
2
  import { AppExtensionAlias } from "./appExtensionAlias";
3
+ import { AppDocument } from "./appDocument";
3
4
  export interface AppDocumentBuild {
5
+ document: AppDocument;
4
6
  aliasName: AppExtensionAlias["name"];
5
7
  bundleUrl: UrlText;
6
8
  deadline: UtcDateTime;
9
+ runAfterBuild: boolean;
7
10
  }
@@ -1,10 +1,2 @@
1
- import { User, UtcDateTime } from "@kong/ts";
2
- import { AppCheckpoint } from "./appCheckpoint";
3
- import { AppDocument } from "./appDocument";
4
1
  import { AppSnapshot } from "./appSnapshot";
5
- export interface AppDocumentSnapshot extends AppSnapshot {
6
- documentId: AppDocument["id"];
7
- checkpoint: AppCheckpoint["id"];
8
- updated: UtcDateTime;
9
- updatedBy: User["name"];
10
- }
2
+ export type AppDocumentSnapshot = AppSnapshot;
@@ -0,0 +1,5 @@
1
+ import { AppCheckpoint } from "./appCheckpoint";
2
+ import { AppSnapshotDetails } from "./appSnapshotDetails";
3
+ export interface AppDocumentSnapshotDetails extends AppSnapshotDetails {
4
+ checkpoint: AppCheckpoint["id"];
5
+ }
@@ -1,11 +1,8 @@
1
1
  import { KongSpecFunctionRef, KongSpecHowToInvoke } from "@kong/spec";
2
- import { AppAlias } from "./appAlias";
2
+ import { AppAliasDetails } from "./appAliasDetails";
3
3
  import { AppExtensionAliasUseDetails } from "./appExtensionAliasUseDetails";
4
- import { SdkExtensionAlias } from "./sdkExtensionAlias";
5
- export interface AppExtensionAliasDetails extends AppAlias<AppExtensionAliasUseDetails> {
4
+ export interface AppExtensionAliasDetails extends AppAliasDetails<AppExtensionAliasUseDetails> {
6
5
  name: KongSpecFunctionRef["aliasName"];
7
6
  basedOnName: KongSpecFunctionRef["basedOn"];
8
- inputSchema?: NonNullable<SdkExtensionAlias["input"]>["schema"];
9
- outputSchema?: NonNullable<SdkExtensionAlias["output"]>["schema"];
10
7
  invoke?: Partial<KongSpecHowToInvoke>;
11
8
  }
@@ -1,5 +1,3 @@
1
+ import { AppAliasUse } from "./appAliasUse";
1
2
  import { AppExtensionSnapshot } from "./appExtensionSnapshot";
2
- export interface AppExtensionAliasUse {
3
- snapshot: AppExtensionSnapshot;
4
- balance: number;
5
- }
3
+ export type AppExtensionAliasUse = AppAliasUse<AppExtensionSnapshot>;
@@ -1,9 +1,7 @@
1
- import { AppExtensionAliasUse } from "./appExtensionAliasUse";
1
+ import { AppAliasUse } from "./appAliasUse";
2
2
  import { AppExtensionSnapshotDetails } from "./appExtensionSnapshotDetails";
3
3
  import { SdkExtensionAlias } from "./sdkExtensionAlias";
4
- export interface AppExtensionAliasUseDetails {
5
- snapshot: AppExtensionSnapshotDetails;
6
- balance: AppExtensionAliasUse["balance"];
4
+ export interface AppExtensionAliasUseDetails extends AppAliasUse<AppExtensionSnapshotDetails> {
7
5
  inputFilter?: NonNullable<SdkExtensionAlias["input"]>["filter"];
8
6
  outputFilter?: NonNullable<SdkExtensionAlias["output"]>["filter"];
9
7
  env?: SdkExtensionAlias["env"];
@@ -1,9 +1,4 @@
1
- import { JsonObject } from "@kong/ts";
2
- import { JSONSchema7 } from "json-schema";
3
- import { AppSnapshot } from "./appSnapshot";
4
- export interface AppExtensionSnapshotDetails extends AppSnapshot {
1
+ import { AppSnapshotDetails } from "./appSnapshotDetails";
2
+ export interface AppExtensionSnapshotDetails extends AppSnapshotDetails {
5
3
  sdk: string;
6
- inputSchema: JSONSchema7;
7
- outputSchema: JSONSchema7;
8
- metadata: JsonObject;
9
4
  }
@@ -1,7 +1,10 @@
1
1
  import { KongSpecProcessRef } from "@kong/spec";
2
- import { AppAlias } from "./appAlias";
3
- import { AppProcessAliasUse } from "./appProcessAliasUse";
4
- export type AppProcessAliasDetails = AppAlias<AppProcessAliasUse> & {
2
+ import { Optional } from "@kong/ts";
3
+ import { AppAliasDetails } from "./appAliasDetails";
4
+ import { AppDocument } from "./appDocument";
5
+ import { AppProcessAliasUseDetails } from "./appProcessAliasUseDetails";
6
+ export interface AppProcessAliasDetails extends AppAliasDetails<AppProcessAliasUseDetails> {
7
+ appDocument: Optional<AppDocument>;
5
8
  name: KongSpecProcessRef["aliasName"];
6
9
  basedOnName: KongSpecProcessRef["basedOn"];
7
- };
10
+ }
@@ -1,7 +1,3 @@
1
+ import { AppAliasUse } from "./appAliasUse";
1
2
  import { AppDocumentSnapshot } from "./appDocumentSnapshot";
2
- import { AppExtensionSnapshot } from "./appExtensionSnapshot";
3
- export interface AppProcessAliasUse {
4
- snapshotVersion: AppDocumentSnapshot["version"];
5
- snapshotSdk: AppExtensionSnapshot["sdk"];
6
- balance: number;
7
- }
3
+ export type AppProcessAliasUse = AppAliasUse<AppDocumentSnapshot>;
@@ -0,0 +1,3 @@
1
+ import { AppAliasUseDetails } from "./appAliasUseDetails";
2
+ import { AppDocumentSnapshotDetails } from "./appDocumentSnapshotDetails";
3
+ export type AppProcessAliasUseDetails = AppAliasUseDetails<AppDocumentSnapshotDetails>;
@@ -0,0 +1,8 @@
1
+ import { JsonObject } from "@kong/ts";
2
+ import { JSONSchema7 } from "json-schema";
3
+ import { AppSnapshot } from "./appSnapshot";
4
+ export interface AppSnapshotDetails extends AppSnapshot {
5
+ inputSchema: JSONSchema7;
6
+ outputSchema: JSONSchema7;
7
+ metadata: JsonObject;
8
+ }
@@ -0,0 +1,16 @@
1
+ import { JqFilter, JsonObject } from "@kong/ts";
2
+ import { JSONSchema7 } from "json-schema";
3
+ import { SdkQuotaName } from "./sdkQuota";
4
+ export interface SdkAliasInput {
5
+ filter: JqFilter;
6
+ schema: JSONSchema7;
7
+ }
8
+ export interface SdkAliasOutput {
9
+ filter: JqFilter;
10
+ schema: JSONSchema7;
11
+ }
12
+ export interface SdkAlias {
13
+ input?: SdkAliasInput;
14
+ output?: SdkAliasOutput;
15
+ quotas?: Record<SdkQuotaName, JsonObject>;
16
+ }
@@ -1,20 +1,7 @@
1
1
  import { KongSpecHowToInvoke } from "@kong/spec";
2
- import { JqFilter, JsonObject } from "@kong/ts";
3
- import { JSONSchema7 } from "json-schema";
4
- import { SdkQuotaName } from "./sdkQuota";
5
- interface SdkExtensionAliasInput {
6
- filter: JqFilter;
7
- schema: JSONSchema7;
8
- }
9
- interface SdkExtensionAliasOutput {
10
- filter: JqFilter;
11
- schema: JSONSchema7;
12
- }
13
- export interface SdkExtensionAlias {
14
- input?: SdkExtensionAliasInput;
15
- output?: SdkExtensionAliasOutput;
2
+ import { JsonObject } from "@kong/ts";
3
+ import { SdkAlias } from "./sdkAlias";
4
+ export interface SdkExtensionAlias extends SdkAlias {
16
5
  invoke?: KongSpecHowToInvoke;
17
- quotas?: Record<SdkQuotaName, JsonObject>;
18
6
  env?: JsonObject;
19
7
  }
20
- export {};
@@ -8,4 +8,5 @@ export interface SdkRateLimiterQuota {
8
8
  export interface SdkConcurrencyQuota {
9
9
  minValue: number;
10
10
  maxValue: number;
11
+ initialValue: number;
11
12
  }