npm package diff
Package: @forge/cli-shared
Versions: 5.6.0-next.15 - 6.0.0-next.16
Modified: package/out/service/feature-flag-service.js
Index: package/out/service/feature-flag-service.js
===================================================================
--- package/out/service/feature-flag-service.js
+++ package/out/service/feature-flag-service.js
@@ -7,8 +7,11 @@
class FeatureFlagReader {
async isAtlasProductSupported() {
return (await this.readFlag('forge-cli-enable-atlas-product-support')) ?? false;
}
+ async isLogsV2ApiEnabled() {
+ return (await this.readFlag('is-logs-v-2-api-enabled')) ?? true;
+ }
}
exports.FeatureFlagReader = FeatureFlagReader;
var CLIENT_SIDE_ID;
(function (CLIENT_SIDE_ID) {
Modified: package/out/app-logs/graphql-client.js
Index: package/out/app-logs/graphql-client.js
===================================================================
--- package/out/app-logs/graphql-client.js
+++ package/out/app-logs/graphql-client.js
@@ -33,8 +33,79 @@
...this.extractInvocationInfo(result.metadata),
logs: result.lines.map(sanitizeLogLine)
};
}
+ async viewAppLogsV2(details, invocationMap, totalRecieved) {
+ const query = `
+ query forge_cli_getApplicationLogsV2(
+ $appId: String!,
+ $environmentId: String!,
+ $dateSearchInput: DateSearchInput,
+ $offset: Int!,
+ $limit: Int!,
+ $queryStartTime: String!
+ ) {
+ appLogsWithMetaData(
+ appId: $appId
+ environmentId: $environmentId
+ limit: $limit
+ offset: $offset
+ queryStartTime: $queryStartTime
+ query: {
+ dates: $dateSearchInput
+ }
+ ) {
+ appLogs {
+ appId
+ appVersion
+ message
+ environmentId
+ invocationId
+ functionKey
+ lvl
+ error
+ other
+ ts
+ }
+ hasNextPage
+ totalLogs
+ __typename
+ }
+ }
+ `;
+ const result = await this.graphqlClient.query(query, details);
+ if (!result || !result.appLogsWithMetaData || !result.appLogsWithMetaData.appLogs) {
+ throw new MissingAppLogsError();
+ }
+ for (const logLine of result.appLogsWithMetaData.appLogs) {
+ let logsMetadata = invocationMap.get(logLine.invocationId);
+ if (!logsMetadata) {
+ logsMetadata = {
+ id: logLine.invocationId,
+ appVersion: logLine.appVersion,
+ function: logLine.functionKey || undefined,
+ trigger: undefined,
+ logs: []
+ };
+ }
+ logsMetadata.logs.push({
+ message: logLine.message || undefined,
+ other: logLine.other ? JSON.parse(logLine.other) : [],
+ level: logLine.lvl || undefined,
+ timestamp: logLine.ts
+ });
+ invocationMap.set(logLine.invocationId, logsMetadata);
+ }
+ const serverSideMaxLimit = result.appLogsWithMetaData.appLogs.length;
+ totalRecieved += serverSideMaxLimit;
+ if (result.appLogsWithMetaData.hasNextPage && details.maxLimit > totalRecieved) {
+ details.offset = details.offset + serverSideMaxLimit;
+ details.limit = details.limit - serverSideMaxLimit;
+ return this.viewAppLogsV2(details, invocationMap, totalRecieved);
+ }
+ const invocations = [...invocationMap.values()];
+ return invocations;
+ }
async viewAppLogs(details) {
const query = `
query forge_cli_getApplicationLogs($appId: ID!, $environmentId: [ID!]!, $limit: Int!, $contextAri: [ID!], $startTime: String) {
appLogs(
Modified: package/out/graphql/graphql-types.js
Large diffs are not rendered by default.
Modified: package/out/ui/text.js
Index: package/out/ui/text.js
===================================================================
--- package/out/ui/text.js
+++ package/out/ui/text.js
@@ -704,9 +704,9 @@
},
logs: {
cmd: 'view app logs',
optionInvocation: 'view logs for a given invocation ID',
- optionLimit: 'number of invocations to return',
+ optionLimit: 'number of log lines to return',
optionGroup: 'group logs by invocation ID',
optionSince: 'view logs since the specified time. valid formats: YYYY-MM-DD, ISO 8061 timestamp or a relative time (e.g: 5m, 10h, 2d)',
invalidSinceOption: (since) => `Invalid date-time format: '${since}'. Date filter will not be applied.\n`
},
Modified: package/out/app-logs/view-logs.js
Index: package/out/app-logs/view-logs.js
===================================================================
--- package/out/app-logs/view-logs.js
+++ package/out/app-logs/view-logs.js
@@ -7,29 +7,57 @@
getAppConfig;
appEnvironmentClient;
globalEdgeClient;
logsClient;
- constructor(getAppConfig, appEnvironmentClient, globalEdgeClient, logsClient) {
+ featureFlagService;
+ constructor(getAppConfig, appEnvironmentClient, globalEdgeClient, logsClient, featureFlagService) {
this.getAppConfig = getAppConfig;
this.appEnvironmentClient = appEnvironmentClient;
this.globalEdgeClient = globalEdgeClient;
this.logsClient = logsClient;
+ this.featureFlagService = featureFlagService;
}
async getAll({ environmentKey, limit, context, startTime = null }) {
const { id: appId } = await this.getAppConfig();
const [environmentId, cloudId] = await Promise.all([
this.appEnvironmentClient.getAppEnvironmentId(appId, environmentKey),
context ? this.globalEdgeClient.getCloudId(context.site) : undefined
]);
const contextAri = cloudId ? (0, ari_2.buildContextAri)(cloudId, context.product) : undefined;
- return this.logsClient.viewAppLogs({
+ const details = {
appId: ari_1.EcosystemAppAri.parse(appId).appId,
environmentId,
limit,
startTime,
contextAri: contextAri ? [contextAri] : undefined
- });
+ };
+ const isV2ApiEnabled = await this.featureFlagService.isLogsV2ApiEnabled();
+ if (isV2ApiEnabled) {
+ return this.getLogs(details);
+ }
+ return this.logsClient.viewAppLogs(details);
}
+ async getLogs(details) {
+ const latestStart = new Date().toISOString();
+ let earliestStart = new Date();
+ if (details.startTime) {
+ earliestStart = new Date(details.startTime);
+ }
+ else {
+ earliestStart.setHours(new Date().getHours() - 1);
+ }
+ const dateSearchInput = {
+ earliestStart: earliestStart.toISOString(),
+ latestStart
+ };
+ return this.logsClient.viewAppLogsV2({
+ ...details,
+ offset: 0,
+ dateSearchInput,
+ queryStartTime: earliestStart.toISOString(),
+ maxLimit: details.limit
+ }, new Map(), 0);
+ }
async getOne(details) {
return this.logsClient.viewInvocationLogs({ invocationId: details.invocationId });
}
}
Modified: package/package.json
Index: package/package.json
===================================================================
--- package/package.json
+++ package/package.json
@@ -1,7 +1,7 @@
{
"name": "@forge/cli-shared",
- "version": "5.6.0-next.15",
+ "version": "6.0.0-next.16",
"description": "Common functionality for Forge CLI",
"author": "Atlassian",
"license": "UNLICENSED",
"main": "out/index.js",
Modified: package/out/service/feature-flag-service.d.ts.map
Index: package/out/service/feature-flag-service.d.ts.map
===================================================================
--- package/out/service/feature-flag-service.d.ts.map
+++ package/out/service/feature-flag-service.d.ts.map
@@ -1,1 +1,1 @@
-{"version":3,"file":"feature-flag-service.d.ts","sourceRoot":"","sources":["../../src/service/feature-flag-service.ts"],"names":[],"mappings":"AAAA,OAAqB,EAAe,QAAQ,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAC;AAEzG,OAAO,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAC3C,OAAO,EAAE,mBAAmB,EAAE,MAAM,WAAW,CAAC;AAChD,OAAO,EAAE,oBAAoB,EAAgB,MAAM,YAAY,CAAC;AAChE,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AACvC,OAAO,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC;AAyB/B,aAAK,eAAe,GAAG;IACrB,qBAAqB,EAAE,OAAO,GAAG,QAAQ,GAAG,QAAQ,GAAG,YAAY,CAAC;IACpE,2BAA2B,EAAE,MAAM,CAAC;IACpC,wCAAwC,EAAE,OAAO,CAAC;IAClD,iCAAiC,EAAE,OAAO,CAAC;CAC5C,CAAC;AAEF,oBAAY,WAAW,GAAG,MAAM,eAAe,CAAC;AAKhD,8BAAsB,iBAAiB;IACrC,QAAQ,CAAC,QAAQ,CAAC,CAAC,SAAS,WAAW,EAAE,IAAI,EAAE,CAAC,GAAG,OAAO,CAAC,eAAe,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;IAE/E,uBAAuB,IAAI,OAAO,CAAC,OAAO,CAAC;CAGlD;AAqBD,aAAK,aAAa,GAAG,IAAI,CAAC,QAAQ,EAAE,WAAW,GAAG,gBAAgB,CAAC,CAAC;AAMpE,aAAK,sBAAsB,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,OAAO,CAAC,EAAE,SAAS,KAAK,aAAa,CAAC;AAEzG,wBAAgB,YAAY,CAAC,CAAC,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,KAAK,OAAO,CAAC,CAAC,CAAC,CAa3F;AAKD,qBAAa,kBAAmB,SAAQ,iBAAiB;IAErD,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,UAAU;IAC3B,OAAO,CAAC,QAAQ,CAAC,eAAe;IAChC,OAAO,CAAC,QAAQ,CAAC,eAAe;IAChC,OAAO,CAAC,QAAQ,CAAC,gBAAgB;IACjC,OAAO,CAAC,QAAQ,CAAC,YAAY;gBALZ,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,IAAI,CAAC,UAAU,EAAE,SAAS,CAAC,GAAG,SAAS,EACnD,eAAe,EAAE,gBAAgB,EACjC,eAAe,EAAE,mBAAmB,CAAC;QAAE,EAAE,EAAE,MAAM,CAAA;KAAE,CAAC,EACpD,gBAAgB,GAAE,OAAO,oBAA2C,EACpE,YAAY,GAAE,sBAAgD;IASjF,OAAO,CAAC,KAAK,CAOV;IAMH,OAAO,CAAC,OAAO,CAyBZ;IAEH,OAAO,CAAC,MAAM,CAQX;IAEG,QAAQ,CAAC,CAAC,SAAS,WAAW,EAAE,IAAI,EAAE,CAAC,GAAG,OAAO,CAAC,eAAe,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;CAcnF;AAED,qBAAa,qBAAsB,SAAQ,iBAAiB;IAC9C,OAAO,CAAC,YAAY;gBAAZ,YAAY,GAAE,OAAO,CAAC;SAAG,GAAG,IAAI,WAAW,GAAG,GAAG;KAAE,CAAC,GAAG,SAAqB;IAI1F,QAAQ,CAAC,CAAC,SAAS,MAAM,eAAe,EAAE,IAAI,EAAE,CAAC,GAAG,OAAO,CAAC,eAAe,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;CAG7F"}
\ No newline at end of file
+{"version":3,"file":"feature-flag-service.d.ts","sourceRoot":"","sources":["../../src/service/feature-flag-service.ts"],"names":[],"mappings":"AAAA,OAAqB,EAAe,QAAQ,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAC;AAEzG,OAAO,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAC3C,OAAO,EAAE,mBAAmB,EAAE,MAAM,WAAW,CAAC;AAChD,OAAO,EAAE,oBAAoB,EAAgB,MAAM,YAAY,CAAC;AAChE,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AACvC,OAAO,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC;AAyB/B,aAAK,eAAe,GAAG;IACrB,qBAAqB,EAAE,OAAO,GAAG,QAAQ,GAAG,QAAQ,GAAG,YAAY,CAAC;IACpE,2BAA2B,EAAE,MAAM,CAAC;IACpC,wCAAwC,EAAE,OAAO,CAAC;IAClD,iCAAiC,EAAE,OAAO,CAAC;IAC3C,yBAAyB,EAAE,OAAO,CAAC;CACpC,CAAC;AAEF,oBAAY,WAAW,GAAG,MAAM,eAAe,CAAC;AAKhD,8BAAsB,iBAAiB;IACrC,QAAQ,CAAC,QAAQ,CAAC,CAAC,SAAS,WAAW,EAAE,IAAI,EAAE,CAAC,GAAG,OAAO,CAAC,eAAe,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;IAE/E,uBAAuB,IAAI,OAAO,CAAC,OAAO,CAAC;IAI3C,kBAAkB,IAAI,OAAO,CAAC,OAAO,CAAC;CAG7C;AAqBD,aAAK,aAAa,GAAG,IAAI,CAAC,QAAQ,EAAE,WAAW,GAAG,gBAAgB,CAAC,CAAC;AAMpE,aAAK,sBAAsB,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,OAAO,CAAC,EAAE,SAAS,KAAK,aAAa,CAAC;AAEzG,wBAAgB,YAAY,CAAC,CAAC,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,KAAK,OAAO,CAAC,CAAC,CAAC,CAa3F;AAKD,qBAAa,kBAAmB,SAAQ,iBAAiB;IAErD,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,UAAU;IAC3B,OAAO,CAAC,QAAQ,CAAC,eAAe;IAChC,OAAO,CAAC,QAAQ,CAAC,eAAe;IAChC,OAAO,CAAC,QAAQ,CAAC,gBAAgB;IACjC,OAAO,CAAC,QAAQ,CAAC,YAAY;gBALZ,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,IAAI,CAAC,UAAU,EAAE,SAAS,CAAC,GAAG,SAAS,EACnD,eAAe,EAAE,gBAAgB,EACjC,eAAe,EAAE,mBAAmB,CAAC;QAAE,EAAE,EAAE,MAAM,CAAA;KAAE,CAAC,EACpD,gBAAgB,GAAE,OAAO,oBAA2C,EACpE,YAAY,GAAE,sBAAgD;IASjF,OAAO,CAAC,KAAK,CAOV;IAMH,OAAO,CAAC,OAAO,CAyBZ;IAEH,OAAO,CAAC,MAAM,CAQX;IAEG,QAAQ,CAAC,CAAC,SAAS,WAAW,EAAE,IAAI,EAAE,CAAC,GAAG,OAAO,CAAC,eAAe,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;CAcnF;AAED,qBAAa,qBAAsB,SAAQ,iBAAiB;IAC9C,OAAO,CAAC,YAAY;gBAAZ,YAAY,GAAE,OAAO,CAAC;SAAG,GAAG,IAAI,WAAW,GAAG,GAAG;KAAE,CAAC,GAAG,SAAqB;IAI1F,QAAQ,CAAC,CAAC,SAAS,MAAM,eAAe,EAAE,IAAI,EAAE,CAAC,GAAG,OAAO,CAAC,eAAe,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;CAG7F"}
\ No newline at end of file
Modified: package/out/app-logs/graphql-client.d.ts.map
Index: package/out/app-logs/graphql-client.d.ts.map
===================================================================
--- package/out/app-logs/graphql-client.d.ts.map
+++ package/out/app-logs/graphql-client.d.ts.map
@@ -1,1 +1,1 @@
-{"version":3,"file":"graphql-client.d.ts","sourceRoot":"","sources":["../../src/app-logs/graphql-client.ts"],"names":[],"mappings":"AAAA,OAAO,EAA6E,aAAa,EAAE,MAAM,YAAY,CAAC;AAEtH,OAAO,EACL,wBAAwB,EACxB,cAAc,EACd,UAAU,EACV,iBAAiB,EACjB,iBAAiB,EAClB,MAAM,aAAa,CAAC;AAwBrB,qBAAa,mBAAoB,SAAQ,KAAK;CAAG;AACjD,qBAAa,uBAAwB,SAAQ,KAAK;CAAG;AACrD,qBAAa,sBAAuB,SAAQ,KAAK;CAAG;AACpD,qBAAa,oBAAqB,SAAQ,KAAK;CAAG;AAElD,qBAAa,iBAAkB,YAAW,iBAAiB;IAC7C,OAAO,CAAC,QAAQ,CAAC,aAAa;gBAAb,aAAa,EAAE,aAAa;IAE5C,kBAAkB,CAAC,OAAO,EAAE,wBAAwB;;;;;;;IAapD,WAAW,CAAC,OAAO,EAAE,cAAc;IAwEhD,OAAO,CAAC,qBAAqB;IAU7B,OAAO,CAAC,eAAe;YAcT,iBAAiB;CAqDhC"}
\ No newline at end of file
+{"version":3,"file":"graphql-client.d.ts","sourceRoot":"","sources":["../../src/app-logs/graphql-client.ts"],"names":[],"mappings":"AAAA,OAAO,EAA6E,aAAa,EAAE,MAAM,YAAY,CAAC;AAEtH,OAAO,EACL,wBAAwB,EACxB,cAAc,EACd,gBAAgB,EAChB,UAAU,EACV,iBAAiB,EACjB,iBAAiB,EAClB,MAAM,aAAa,CAAC;AAwBrB,qBAAa,mBAAoB,SAAQ,KAAK;CAAG;AACjD,qBAAa,uBAAwB,SAAQ,KAAK;CAAG;AACrD,qBAAa,sBAAuB,SAAQ,KAAK;CAAG;AACpD,qBAAa,oBAAqB,SAAQ,KAAK;CAAG;AAElD,qBAAa,iBAAkB,YAAW,iBAAiB;IAC7C,OAAO,CAAC,QAAQ,CAAC,aAAa;gBAAb,aAAa,EAAE,aAAa;IAE5C,kBAAkB,CAAC,OAAO,EAAE,wBAAwB;;;;;;;IAapD,aAAa,CACxB,OAAO,EAAE,gBAAgB,EACzB,aAAa,EAAE,GAAG,CAAC,MAAM,EAAE,UAAU,CAAC,EACtC,aAAa,EAAE,MAAM,GACpB,OAAO,CAAC,UAAU,EAAE,CAAC;IAkFX,WAAW,CAAC,OAAO,EAAE,cAAc;IAwEhD,OAAO,CAAC,qBAAqB;IAU7B,OAAO,CAAC,eAAe;YAcT,iBAAiB;CAqDhC"}
\ No newline at end of file
Modified: package/out/graphql/graphql-types.d.ts.map
Large diffs are not rendered by default.
Modified: package/out/app-logs/view-logs.d.ts.map
Index: package/out/app-logs/view-logs.d.ts.map
===================================================================
--- package/out/app-logs/view-logs.d.ts.map
+++ package/out/app-logs/view-logs.d.ts.map
@@ -1,1 +1,1 @@
-{"version":3,"file":"view-logs.d.ts","sourceRoot":"","sources":["../../src/app-logs/view-logs.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,GAAG,EAAmB,MAAM,0BAA0B,CAAC;AAChE,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B,OAAO,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAE5C,OAAO,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AAClD,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAElD,MAAM,WAAW,OAAO;IACtB,IAAI,EAAE,GAAG,CAAC;IACV,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,kBAAkB;IACjC,cAAc,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,YAAY;IAC3B,cAAc,EAAE,MAAM,CAAC;IACvB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC3B;AAED,oBAAY,cAAc,GAAG;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,aAAa,EAAE,MAAM,CAAC;IACtB,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,UAAU,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC;CACpB,CAAC;AAEF,MAAM,WAAW,sBAAsB;IACrC,cAAc,EAAE,MAAM,CAAC;IACvB,YAAY,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,MAAM,WAAW,wBAAwB;IACvC,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,iBAAiB;IAChC,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,GAAG,CAAC;CACb;AAED,MAAM,WAAW,UAAU;IACzB,EAAE,EAAE,MAAM,CAAC;IACX,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,iBAAiB,EAAE,CAAC;IAC1B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,iBAAiB;IAChC,WAAW,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC,CAAC;IAC5D,kBAAkB,CAAC,OAAO,EAAE,wBAAwB,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;CAC5E;AAED,qBAAa,kBAAkB;IAK3B,OAAO,CAAC,QAAQ,CAAC,YAAY;IAC7B,OAAO,CAAC,QAAQ,CAAC,oBAAoB;IACrC,OAAO,CAAC,QAAQ,CAAC,gBAAgB;IACjC,OAAO,CAAC,QAAQ,CAAC,UAAU;gBAHV,YAAY,EAAE,iBAAiB,EAC/B,oBAAoB,EAAE,oBAAoB,EAC1C,gBAAgB,EAAE,gBAAgB,EAClC,UAAU,EAAE,iBAAiB;IAGnC,MAAM,CAAC,EAAE,cAAc,EAAE,KAAK,EAAE,OAAO,EAAE,SAAgB,EAAE,EAAE,YAAY,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC;IAmBjG,MAAM,CAAC,OAAO,EAAE,sBAAsB,GAAG,OAAO,CAAC,UAAU,CAAC;CAI1E"}
\ No newline at end of file
+{"version":3,"file":"view-logs.d.ts","sourceRoot":"","sources":["../../src/app-logs/view-logs.ts"],"names":[],"mappings":"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"}
\ No newline at end of file
Modified: package/CHANGELOG.md
Large diffs are not rendered by default.
Modified: package/out/service/feature-flag-service.d.ts
Index: package/out/service/feature-flag-service.d.ts
===================================================================
--- package/out/service/feature-flag-service.d.ts
+++ package/out/service/feature-flag-service.d.ts
@@ -8,13 +8,15 @@
'forge-cli-test-flag': 'apple' | 'banana' | 'orange' | 'watermelon';
'forge-cli-startup-warning': string;
'forge-cli-enable-atlas-product-support': boolean;
'forge-cli-use-cloudflare-tunnel': boolean;
+ 'is-logs-v-2-api-enabled': boolean;
};
export declare type FeatureFlag = keyof FeatureFlagType;
export declare abstract class FeatureFlagReader {
abstract readFlag<F extends FeatureFlag>(flag: F): Promise<FeatureFlagType[F] | null>;
isAtlasProductSupported(): Promise<boolean>;
+ isLogsV2ApiEnabled(): Promise<boolean>;
}
declare type ILaunchDarkly = Pick<LDClient, 'variation' | 'waitUntilReady'>;
declare type LaunchDarklyInitialize = (envKey: string, context: LDContext, options?: LDOptions) => ILaunchDarkly;
export declare function cachedMethod<C, T>(getter: (this: C) => Promise<T>): (this: C) => Promise<T>;
Modified: package/out/app-logs/graphql-client.d.ts
Index: package/out/app-logs/graphql-client.d.ts
===================================================================
--- package/out/app-logs/graphql-client.d.ts
+++ package/out/app-logs/graphql-client.d.ts
@@ -1,6 +1,6 @@
import { GraphQLClient } from '../graphql';
-import { AppInvocationLogsDetails, AppLogsDetails, Invocation, InvocationLogLine, ViewAppLogsClient } from './view-logs';
+import { AppInvocationLogsDetails, AppLogsDetails, AppLogsDetailsV2, Invocation, InvocationLogLine, ViewAppLogsClient } from './view-logs';
export declare class MissingAppLogsError extends Error {
}
export declare class MissingAppLogLinesError extends Error {
}
@@ -17,8 +17,9 @@
appVersion: string;
function?: string | undefined;
trigger?: string | undefined;
}>;
+ viewAppLogsV2(details: AppLogsDetailsV2, invocationMap: Map<string, Invocation>, totalRecieved: number): Promise<Invocation[]>;
viewAppLogs(details: AppLogsDetails): Promise<Invocation[]>;
private extractInvocationInfo;
private extractLogLines;
private getInvocationLogs;
Modified: package/out/graphql/graphql-types.d.ts
Large diffs are not rendered by default.
Modified: package/out/app-logs/view-logs.d.ts
Index: package/out/app-logs/view-logs.d.ts
===================================================================
--- package/out/app-logs/view-logs.d.ts
+++ package/out/app-logs/view-logs.d.ts
@@ -1,10 +1,11 @@
/// <reference types="node" />
import { Ari } from '@forge/util/packages/ari';
import { URL } from 'url';
import { AppConfigProvider } from '../apps';
-import { AppEnvironmentClient } from '../graphql';
+import { AppEnvironmentClient, DateSearchInput } from '../graphql';
import { GlobalEdgeClient } from '../http-client';
+import { FeatureFlagService } from '../service';
export interface Context {
site: URL;
product: string;
}
@@ -23,8 +24,14 @@
limit: number;
startTime?: string | null;
contextAri?: [Ari];
};
+export declare type AppLogsDetailsV2 = AppLogsDetails & {
+ offset: number;
+ dateSearchInput: DateSearchInput;
+ queryStartTime: string;
+ maxLimit: number;
+};
export interface InvocationQueryDetails {
environmentKey: string;
invocationId: string;
context?: Context;
@@ -46,16 +53,19 @@
trigger?: string;
}
export interface ViewAppLogsClient {
viewAppLogs(details: AppLogsDetails): Promise<Invocation[]>;
+ viewAppLogsV2(details: AppLogsDetailsV2, invocationMap: Map<string, Invocation>, totalRecieved: number): Promise<Invocation[]>;
viewInvocationLogs(details: AppInvocationLogsDetails): Promise<Invocation>;
}
export declare class ViewAppLogsCommand {
private readonly getAppConfig;
private readonly appEnvironmentClient;
private readonly globalEdgeClient;
private readonly logsClient;
- constructor(getAppConfig: AppConfigProvider, appEnvironmentClient: AppEnvironmentClient, globalEdgeClient: GlobalEdgeClient, logsClient: ViewAppLogsClient);
+ private readonly featureFlagService;
+ constructor(getAppConfig: AppConfigProvider, appEnvironmentClient: AppEnvironmentClient, globalEdgeClient: GlobalEdgeClient, logsClient: ViewAppLogsClient, featureFlagService: FeatureFlagService);
getAll({ environmentKey, limit, context, startTime }: QueryDetails): Promise<Invocation[]>;
+ getLogs(details: AppLogsDetails): Promise<Invocation[]>;
getOne(details: InvocationQueryDetails): Promise<Invocation>;
}
//# sourceMappingURL=view-logs.d.ts.map
\ No newline at end of file