npm package diff

Package: @forge/cache

Versions: 1.0.3-next.0 - 1.0.3-next.0-experimental-ab129b0

Removed: package/out/__test__/cache.test.js

Removed: package/out/__test__/tunnel.test.js

Removed: package/out/__test__/cache.test.d.ts.map

Removed: package/out/__test__/tunnel.test.d.ts.map

Removed: package/out/__test__/cache.test.d.ts

Removed: package/out/__test__/tunnel.test.d.ts

Added: package/out/kvs/conditions.js

Added: package/out/kvs/entity-query.js

Added: package/out/kvs/interfaces/entity-query.js

Added: package/out/kvs/entity.js

Added: package/out/kvs/utils/error-handling.js

Added: package/out/kvs/errors.js

Added: package/out/kvs/index.js

Added: package/out/kvs/interfaces/kvs-api.js

Added: package/out/kvs/interfaces/kvs.js

Added: package/out/kvs/kvs.js

Added: package/out/kvs/interfaces/query.js

Added: package/out/kvs/query.js

Added: package/out/kvs/storage-api.js

Added: package/out/kvs/transaction-api.js

Added: package/out/kvs/utils/transaction-request-builder.js

Added: package/out/kvs/interfaces/transaction.js

Added: package/out/kvs/interfaces/types.js

Added: package/out/kvs/conditions.d.ts.map

Added: package/out/kvs/entity-query.d.ts.map

Added: package/out/kvs/interfaces/entity-query.d.ts.map

Added: package/out/kvs/entity.d.ts.map

Added: package/out/kvs/utils/error-handling.d.ts.map

Added: package/out/kvs/errors.d.ts.map

Added: package/out/kvs/index.d.ts.map

Added: package/out/kvs/interfaces/kvs-api.d.ts.map

Added: package/out/kvs/interfaces/kvs.d.ts.map

Added: package/out/kvs/kvs.d.ts.map

Added: package/out/kvs/interfaces/query.d.ts.map

Added: package/out/kvs/query.d.ts.map

Added: package/out/kvs/storage-api.d.ts.map

Added: package/out/kvs/transaction-api.d.ts.map

Added: package/out/kvs/utils/transaction-request-builder.d.ts.map

Added: package/out/kvs/interfaces/transaction.d.ts.map

Added: package/out/kvs/interfaces/types.d.ts.map

Added: package/out/kvs/conditions.d.ts

Added: package/out/kvs/entity-query.d.ts

Added: package/out/kvs/interfaces/entity-query.d.ts

Added: package/out/kvs/entity.d.ts

Added: package/out/kvs/utils/error-handling.d.ts

Added: package/out/kvs/errors.d.ts

Added: package/out/kvs/index.d.ts

Added: package/out/kvs/interfaces/kvs-api.d.ts

Added: package/out/kvs/interfaces/kvs.d.ts

Added: package/out/kvs/kvs.d.ts

Added: package/out/kvs/interfaces/query.d.ts

Added: package/out/kvs/query.d.ts

Added: package/out/kvs/storage-api.d.ts

Added: package/out/kvs/transaction-api.d.ts

Added: package/out/kvs/utils/transaction-request-builder.d.ts

Added: package/out/kvs/interfaces/transaction.d.ts

Added: package/out/kvs/interfaces/types.d.ts

Modified: package/out/cache.js

Index: package/out/cache.js
===================================================================
--- package/out/cache.js
+++ package/out/cache.js
@@ -4,8 +4,10 @@
 const tslib_1 = require("tslib");
 const node_fetch_1 = tslib_1.__importDefault(require("node-fetch"));
 const api_1 = require("@forge/api");
 const tunnel_1 = require("./tunnel");
+const kvs_1 = require("./kvs/kvs");
+const storage_api_1 = require("./kvs/storage-api");
 class ApiError extends Error {
     status;
     code;
     data;
@@ -42,10 +44,13 @@
 }
 exports.getResponseBody = getResponseBody;
 class Cache {
     client;
+    kvsImpl;
     constructor(client) {
         this.client = client;
+        const storageApi = new storage_api_1.StorageApi(client);
+        this.kvsImpl = new kvs_1.KvsImpl(storageApi);
     }
     buildRequest(requestBody) {
         return {
             method: 'POST',
@@ -54,8 +59,14 @@
                 'Content-Type': 'application/json'
             }
         };
     }
+    async setKvs(key, value) {
+        return await this.kvsImpl.set(key, value);
+    }
+    async getKvs(key) {
+        return await this.kvsImpl.get(key);
+    }
     async set(key, value, opt) {
         const response = await this.client('rms/store/set', this.buildRequest({ key, value, ...opt }));
         await getResponseBody(response);
     }

Modified: package/package.json

Index: package/package.json
===================================================================
--- package/package.json
+++ package/package.json
@@ -1,7 +1,7 @@
 {
   "name": "@forge/cache",
-  "version": "1.0.3-next.0",
+  "version": "1.0.3-next.0-experimental-ab129b0",
   "description": "Forge Cache methods",
   "author": "Atlassian",
   "license": "SEE LICENSE IN LICENSE.txt",
   "main": "out/index.js",
@@ -20,9 +20,9 @@
     "@types/node-fetch": "^2.6.12",
     "tmp": "^0.2.3"
   },
   "dependencies": {
-    "@forge/api": "^6.0.3-next.0",
+    "@forge/api": "^6.0.3-next.0-experimental-ab129b0",
     "agentkeepalive": "^4.5.0",
     "node-fetch": "2.7.0",
     "object-sizeof": "^2.6.5"
   },

Modified: package/out/cache.d.ts.map

Index: package/out/cache.d.ts.map
===================================================================
--- package/out/cache.d.ts.map
+++ package/out/cache.d.ts.map
@@ -1,1 +1,1 @@
-{"version":3,"file":"cache.d.ts","sourceRoot":"","sources":["../src/cache.ts"],"names":[],"mappings":"AACA,OAAkB,EAAE,WAAW,EAAE,QAAQ,IAAI,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAEnF,OAAO,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AACvC,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAGjD,oBAAY,QAAQ,GAAG,IAAI,CAAC,iBAAiB,EAAE,MAAM,GAAG,IAAI,GAAG,QAAQ,CAAC,CAAC;AAEzE,oBAAY,UAAU,GAAG;IACvB,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,EAAE,CAAC;CAChB,CAAC;AAEF,qBAAa,QAAS,SAAQ,KAAK;IAE/B,QAAQ,CAAC,MAAM,EAAE,MAAM;IACvB,QAAQ,CAAC,IAAI,EAAE,MAAM;IAErB,QAAQ,CAAC,IAAI,CAAC;gBAHL,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,MAAM,EACrB,OAAO,EAAE,MAAM,EACN,IAAI,CAAC,KAAK;CAItB;AAED,wBAAsB,eAAe,CAAC,QAAQ,EAAE,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,CA6BtE;AAED,qBAAa,KAAM,YAAW,WAAW;IAC3B,OAAO,CAAC,MAAM;gBAAN,MAAM,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,WAAW,KAAK,OAAO,CAAC,QAAQ,CAAC;IAGtF,OAAO,CAAC,YAAY;IAUP,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE;QAAE,UAAU,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAM5E,cAAc,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE;QAAE,UAAU,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC;IAO9F,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAOxC,SAAS,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE;QAAE,UAAU,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAO3F,eAAe,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE;QAAE,UAAU,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,MAAM,CAAC;IAO3E,eAAe,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE;QAAE,UAAU,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,MAAM,CAAC;IAO3E,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAUpC,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,UAAU,CAAC;IAUrF,QAAQ,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAUrD,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAU7C,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;CAMtD;AAQD,wBAAgB,uBAAuB,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,WAAW,KAAK,OAAO,CAAC,QAAQ,CAAC,CAiCpG;AAED,wBAAgB,OAAO,CAAC,kBAAkB,CAAC,EAAE,MAAM,GAAG,KAAK,GAAG,WAAW,CAQxE"}
\ No newline at end of file
+{"version":3,"file":"cache.d.ts","sourceRoot":"","sources":["../src/cache.ts"],"names":[],"mappings":"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"}
\ No newline at end of file

Modified: package/out/cache.d.ts

Index: package/out/cache.d.ts
===================================================================
--- package/out/cache.d.ts
+++ package/out/cache.d.ts
@@ -1,8 +1,8 @@
 import { RequestInit, Response as nodeFetchResponse } from 'node-fetch';
 import { TunnelCache } from './tunnel';
 import { IForgeCache } from './interfaces/cache';
-export declare type Response = Pick<nodeFetchResponse, 'text' | 'ok' | 'status'>;
+export declare type Response = nodeFetchResponse;
 export declare type ScanResult = {
     cursor: string;
     keys: string[];
 };
@@ -14,10 +14,13 @@
 }
 export declare function getResponseBody(response: Response): Promise<any>;
 export declare class Cache implements IForgeCache {
     private client;
+    private kvsImpl;
     constructor(client: (path: string, options?: RequestInit) => Promise<Response>);
     private buildRequest;
+    setKvs<T>(key: string, value: T): Promise<void>;
+    getKvs<T>(key: string): Promise<T | undefined>;
     set(key: string, value: string, opt?: {
         ttlSeconds: number;
     }): Promise<void>;
     setIfNotExists(key: string, value: string, opt?: {