@devkong/cli 0.0.24 → 0.0.26

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/package.json CHANGED
@@ -1,10 +1,13 @@
1
1
  {
2
2
  "name": "@devkong/cli",
3
- "version": "0.0.24",
3
+ "version": "0.0.26",
4
4
  "type": "commonjs",
5
5
  "main": "./index.js",
6
6
  "typings": "./index.d.ts",
7
7
  "bin": {
8
8
  "kong": "./index.js"
9
+ },
10
+ "dependencies": {
11
+ "@napi-rs/keyring": "1.1.6"
9
12
  }
10
13
  }
@@ -1,17 +1,21 @@
1
+ import { ListrTask } from "listr2";
1
2
  import { Profile } from "../common/profile";
2
3
  export declare class PublishVersionCommand {
3
4
  private verbose;
5
+ private contractPath;
4
6
  private readonly isWin;
5
7
  private registryClient;
6
8
  private managementClient;
7
9
  private defaultRendererOptions;
8
10
  private get wslPrefix();
9
- constructor(profile: Profile, verbose?: boolean);
11
+ constructor(profile: Profile, verbose?: boolean, contractPath?: string);
10
12
  execute(repoName: string, notes: string): Promise<void>;
13
+ flowFactory(repoName: string, notes: string): Generator<ListrTask>;
11
14
  private resolveRegistryUrl;
12
15
  private dockerBuildCmdText;
13
16
  private dockerPushCmdText;
14
17
  private dockerLoginCmdText;
15
18
  private getPythonSchemaCmdText;
19
+ private getKotlinBuildCmdTask;
16
20
  private getKotlinSchemaCmdTask;
17
21
  }
@@ -0,0 +1 @@
1
+ export declare function getExtensionContract(filePath: string): object;
@@ -1,6 +1,7 @@
1
1
  import { UrlText } from "@kong/ts";
2
2
  export interface Profile {
3
3
  kongBaseUrl: UrlText;
4
+ userName: string;
4
5
  }
5
6
  export type ProfileName = "default" | string;
6
7
  export type ConfigProfiles = Record<ProfileName, Profile>;
@@ -7,7 +7,10 @@ export interface ILogger {
7
7
  }
8
8
  export declare function env(key: string): string;
9
9
  export declare function optionalEnv(key: string): string;
10
+ export declare function loadJsonFile<T>(filePath: string): T;
10
11
  export declare function resolveProjectPath(fileName: string): string;
11
12
  export declare function generateShortId(): ShortUUID;
12
13
  export declare function spawnCommand(commandText: string, logger?: ILogger, shell?: boolean): Promise<string>;
14
+ export declare function spawnCommandWithArgs(command: string, commandArgs: string[], logger?: ILogger, shell?: boolean): Promise<string>;
13
15
  export declare function printError(message: string, error: unknown): void;
16
+ export declare function escapePathSpaces(sourcePath: string): string;
@@ -1,5 +1,5 @@
1
- export declare const API_HEADERS: {
2
- headers: {
3
- "Content-Type": string;
4
- };
5
- };
1
+ import { AxiosRequestConfig } from "axios";
2
+ import { Profile } from "../common/profile";
3
+ export type HeaderProvider = () => Promise<AxiosRequestConfig>;
4
+ export declare function provideHeaders(profile: Profile): Promise<AxiosRequestConfig>;
5
+ export declare function headerProvider(profile: Profile): () => Promise<AxiosRequestConfig>;
@@ -1,8 +1,10 @@
1
1
  import { AppExtension, AppExtensionAlias, AppExtensionSnapshot, AppExtensionSnapshotDetails } from "@kong/contract";
2
2
  import { Optional, UrlText } from "@kong/ts";
3
+ import { HeaderProvider } from "./api";
3
4
  export declare class ManagementClient {
5
+ private headerProvider;
4
6
  private readonly baseUrl;
5
- constructor(baseUrl: UrlText);
7
+ constructor(baseUrl: UrlText, headerProvider: HeaderProvider);
6
8
  createExtensionSnapshot(extensionId: AppExtension["id"], extensionName: AppExtension["name"], snapshot: Omit<AppExtensionSnapshotDetails, "id">): Promise<void>;
7
9
  getExtensionSnapshot(extensionName: AppExtension["name"], extensionSnapshotVersion: AppExtensionSnapshot["version"]): Promise<Optional<AppExtensionSnapshotDetails>>;
8
10
  getExtensionSnapshotVersions(extensionId: AppExtension["id"]): Promise<AppExtensionSnapshot[]>;
@@ -1,7 +1,9 @@
1
- import { AppExtensionAliasDetails } from "@kong/contract";
1
+ import { AppExtension, AppExtensionAliasDetails } from "@kong/contract";
2
2
  import { UrlText } from "@kong/ts";
3
+ import { HeaderProvider } from "./api";
3
4
  export declare class PublicClient {
5
+ private headerProvider;
4
6
  private readonly baseUrl;
5
- constructor(baseUrl: UrlText);
6
- assignExtensionAlias(alias: Omit<AppExtensionAliasDetails, "id">): Promise<void>;
7
+ constructor(baseUrl: UrlText, headerProvider: HeaderProvider);
8
+ assignExtensionAlias(extensionId: AppExtension["id"], alias: Omit<AppExtensionAliasDetails, "id">): Promise<void>;
7
9
  }
@@ -1,4 +1,5 @@
1
1
  import { UrlText, User } from "@kong/ts";
2
+ import { HeaderProvider } from "./api";
2
3
  interface PublishDetails {
3
4
  repoName: string;
4
5
  imageName: string;
@@ -7,8 +8,9 @@ interface PublishDetails {
7
8
  token: string;
8
9
  }
9
10
  export declare class RegistryClient {
11
+ private headerProvider;
10
12
  private readonly baseUrl;
11
- constructor(baseUrl: UrlText);
13
+ constructor(baseUrl: UrlText, headerProvider: HeaderProvider);
12
14
  getPublishDetails(repoName: string): Promise<PublishDetails>;
13
15
  }
14
16
  export {};
@@ -1,12 +1,10 @@
1
- import { BusinessKey, Distinct, UtcDateTime } from "@kong/ts";
1
+ import { BusinessKey, Distinct, RequestId, SessionTenant, UtcDateTime } from "@kong/ts";
2
2
  export declare enum KongSpecSessionAgent {
3
3
  JOB = "JOB"
4
4
  }
5
5
  interface KongSpecSession {
6
+ id: Distinct<RequestId["traceId"], "KongSpecSessionId">;
6
7
  agent: KongSpecSessionAgent;
7
- id: Distinct<number, "KongSpecSessionId">;
8
- businessKey: BusinessKey;
9
- deadline: UtcDateTime;
10
8
  created: UtcDateTime;
11
9
  }
12
10
  export declare enum KongSpecJobSessionExecutionMode {
@@ -21,11 +19,13 @@ export declare enum KongSpecJobSessionPriority {
21
19
  LOWEST = "LOWEST"
22
20
  }
23
21
  export interface KongSpecJobSession extends KongSpecSession {
22
+ businessKey: BusinessKey;
24
23
  source: string;
25
- namespace: string;
24
+ tenant: SessionTenant;
26
25
  topic: string;
27
26
  partition: number;
28
27
  priority: KongSpecJobSessionPriority;
29
28
  executionMode: KongSpecJobSessionExecutionMode;
29
+ deadline: UtcDateTime;
30
30
  }
31
31
  export {};
@@ -1,4 +1,4 @@
1
- import { Duration8601, JqObject, Timezone } from "@kong/ts";
1
+ import { Duration8601, JqObject, SessionTenant, Timezone } from "@kong/ts";
2
2
  import { KongSpecJobSession } from "./kongSession";
3
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";
4
4
  export declare class KongSpecBuild {
@@ -34,5 +34,5 @@ export declare class KongSpecBuild {
34
34
  };
35
35
  cache(overrides?: Partial<KongSpecHowToInvoke["cache"]>): KongSpecHowToInvoke["cache"];
36
36
  callModel(payload: JqObject): KongSpecCallModel;
37
- session(timezone: Timezone, overrides?: Partial<KongSpecJobSession>): KongSpecJobSession;
37
+ session(tenant: SessionTenant, timezone: Timezone, overrides?: Partial<KongSpecJobSession>): KongSpecJobSession;
38
38
  }
@@ -1,3 +1,4 @@
1
+ import { SessionTenant } from "@kong/ts";
1
2
  import { Specification } from "@severlessworkflow/sdk-typescript";
2
3
  import { JSONSchema7 } from "json-schema";
3
4
  import { KongSpecFlow } from "./kongSpec";
@@ -6,5 +7,5 @@ interface ConvertSpecToServerlessResult {
6
7
  workflow: Specification.Workflow;
7
8
  inputSchema: JSONSchema7;
8
9
  }
9
- export declare function convertSpecToServerless(type: "main", processName: string, specFlow: KongSpecFlow, env: KongSpecEnv): ConvertSpecToServerlessResult;
10
+ export declare function convertSpecToServerless(type: "main", tenant: SessionTenant, processName: string, specFlow: KongSpecFlow, env: KongSpecEnv): ConvertSpecToServerlessResult;
10
11
  export {};
@@ -9,10 +9,10 @@ export type { Duration8601 } from "./lib/duration";
9
9
  export type { Entity } from "./lib/entity";
10
10
  export { AppError, DataError, errorToPrettyString } from "./lib/error";
11
11
  export { ensureIsDuration, nonNegative, nonRecursiveCall, notBlank, notNull } from "./lib/guard";
12
- export { guid, stableUUID, uuidStableSequence, uuidc16, uuidc32 } from "./lib/id";
12
+ export { guid, stableUUID, uuidc16, uuidc32, uuidStableSequence } from "./lib/id";
13
13
  export type { CompactUUID16, CompactUUID32, GUID, ShortUUID } from "./lib/id";
14
14
  export { intervalToString } from "./lib/interval";
15
- export { JqObjectSerializer, applyJqFilterReplacements, applyJqObjectReplacements, applyJqTextReplacements, extractJqTextContent, jqFilter, jqText, wrapWithJqTextMarkers, } from "./lib/jq";
15
+ export { applyJqFilterReplacements, applyJqObjectReplacements, applyJqTextReplacements, convertToJqFilter, extractJqTextContent, jqFilter, JqObjectSerializer, jqText, wrapWithJqTextMarkers, } from "./lib/jq";
16
16
  export type { JqArray, JqFilter, JqObject, JqSerializer, JqText, RefactorReplacement, } from "./lib/jq";
17
17
  export { generateFakeJsonObject, jsonToHumanReadable, prettyJson, safeJsonParse } from "./lib/json";
18
18
  export type { JsonArray, JsonObject, JsonSchemaUrl, JsonText } from "./lib/json";
@@ -23,12 +23,14 @@ export { deepDeleteKeys } from "./lib/normalize";
23
23
  export { retry } from "./lib/retry";
24
24
  export { fromRequestId, newRequestId } from "./lib/telemetry";
25
25
  export type { RequestId } from "./lib/telemetry";
26
+ export { parseTenant } from "./lib/tenant";
27
+ export type { SessionTenant } from "./lib/tenant";
26
28
  export { byteCount, camelize, escapeLikeText, escapeQuotes, escapeRegex, hashString, quote, removeOuterQuotes, replaceFirstOccurrence, splitToBlocks, trim, upperFirst, words, } from "./lib/text";
27
29
  export type { TextBlock } from "./lib/text";
28
30
  export { TextReader } from "./lib/textReader";
29
31
  export { DEFAULT_TIMEZONE } from "./lib/timezone";
30
32
  export type { Timezone } from "./lib/timezone";
31
- export type { Action, DeepPartial, Distinct, Loading, NonFunctionProperties, Optional, Pair, Primitive, PropertyPath, PropertyPathMap, RequiredProperties, Result, StringKeys, UnArray, ValidateKeys, } from "./lib/types";
33
+ export type { Action, DeepPartial, Distinct, Indexed, Loading, NonFunctionProperties, Optional, Pair, PreventDefault, Primitive, PropertyPath, PropertyPathMap, RequiredProperties, Result, StringKeys, UnArray, ValidateKeys, } from "./lib/types";
32
34
  export { joinUrlAndPath, urlText } from "./lib/url";
33
35
  export type { UrlText } from "./lib/url";
34
36
  export type { User } from "./lib/user";
@@ -0,0 +1,3 @@
1
+ import { Distinct } from "./types";
2
+ export type SessionTenant = Distinct<string, "SessionTenant">;
3
+ export declare function parseTenant(url: string): SessionTenant;
@@ -42,4 +42,9 @@ type NonFunctionKeys<T> = {
42
42
  [K in keyof T]: T[K] extends Function ? never : K;
43
43
  }[keyof T];
44
44
  export type NonFunctionProperties<T> = Pick<T, NonFunctionKeys<T>>;
45
+ export interface Indexed<T> {
46
+ index: number;
47
+ data: T;
48
+ }
49
+ export type PreventDefault = Distinct<boolean, "PreventDefault">;
45
50
  export {};
@@ -14,6 +14,7 @@ export type { AppPresignedUrl } from "./lib/appPresignedUrl";
14
14
  export type { AppProcessAlias } from "./lib/appProcessAlias";
15
15
  export type { AppProcessAliasUse } from "./lib/appProcessAliasUse";
16
16
  export type { AppProcessInstanceId } from "./lib/appProcessInstanceId";
17
+ export type { AppProcessStartRequest } from "./lib/appProcessStartRequest";
17
18
  export type { AppProject } from "./lib/appProject";
18
19
  export type { AppTestCase } from "./lib/appTestCase";
19
20
  export type { AppTestCaseDetails } from "./lib/appTestCaseDetails";
@@ -1,8 +1,8 @@
1
1
  import { KongSpecHowToInvoke } from "@kong/spec";
2
2
  import { AppAlias } from "./appAlias";
3
- import { AppExtensionAliasUse } from "./appExtensionAliasUse";
3
+ import { AppExtensionAliasUseDetails } from "./appExtensionAliasUseDetails";
4
4
  import { SdkExtensionAlias } from "./sdkExtensionAlias";
5
- export interface AppExtensionAliasDetails extends AppAlias<AppExtensionAliasUse> {
5
+ export interface AppExtensionAliasDetails extends AppAlias<AppExtensionAliasUseDetails> {
6
6
  inputSchema?: NonNullable<SdkExtensionAlias["input"]>["schema"];
7
7
  outputSchema?: NonNullable<SdkExtensionAlias["output"]>["schema"];
8
8
  invoke?: Partial<KongSpecHowToInvoke>;
@@ -0,0 +1,10 @@
1
+ import { KongSpecJobSession } from "@kong/spec";
2
+ import { JsonObject } from "@kong/ts";
3
+ export interface AppProcessStartRequest {
4
+ session: {
5
+ businessKey: KongSpecJobSession["businessKey"];
6
+ priority: KongSpecJobSession["priority"];
7
+ deadline: KongSpecJobSession["deadline"];
8
+ };
9
+ payload: JsonObject;
10
+ }