@epilot/document-client 0.13.1 → 0.15.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/README.md +1 -1
- package/dist/definition.js +1 -8
- package/dist/index.d.ts +1 -1
- package/dist/openapi.d.ts +1 -17
- package/package.json +4 -4
- package/src/openapi.d.ts +112 -0
- package/LICENSE +0 -21
package/README.md
CHANGED
package/dist/definition.js
CHANGED
|
@@ -1,8 +1 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
var openapi_json_1 = __importDefault(require("./openapi.json"));
|
|
7
|
-
exports.default = openapi_json_1.default;
|
|
8
|
-
//# sourceMappingURL=definition.js.map
|
|
1
|
+
(()=>{"use strict";var e={914:function(e,t,r){var o=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});var n=o(r(534));t.default=n.default},534:e=>{e.exports=JSON.parse('{"openapi":"3.0.2","info":{"title":"Document API","version":"1.0.0","description":"A document generation API that allows you to generate documents from templates with variables.\\n\\n[Feature Documentation](https://docs.epilot.io/docs/files/document-generation)\\n"},"tags":[{"name":"Documents","description":"Document Generation"}],"security":[{"EpilotAuth":[]}],"paths":{"/v2/documents:generate":{"post":{"operationId":"generateDocumentV2","summary":"generateDocumentV2","description":"Builds document generated from input document with variables.\\n\\nSupported input document types:\\n- .docx\\n\\nSupported output document types:\\n- .pdf\\n- .docx but limited to only text based variables\\n\\nUses [Template Variables API](https://docs.epilot.io/api/template-variables) to replace variables in the document.\\n","parameters":[{"in":"query","name":"job_id","description":"Job ID for tracking the status of document generation action","schema":{"type":"string"}},{"in":"query","name":"mode","description":"Type of mode used for document generation flow:\\n- partial_generation will have a intermediate step for users to validate and replace the variable values before generating the final document.\\n- full_generation, goes through all the steps for the full generation of final document\\n","schema":{"type":"string","enum":["partial_generation","full_generation"],"default":"full_generation"}}],"tags":["Documents"],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DocumentGenerationV2Request"}}}},"responses":{"200":{"description":"Generated document output","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DocumentGenerationV2Response"}}}}}}},"/v2/documents:convert":{"post":{"operationId":"convertDocument","summary":"convertDocument","description":"Converts a document to a different format.\\n\\nSupported input document types:\\n- .docx\\n\\nSupported output document types:\\n- .pdf\\n","tags":["Documents"],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ConvertDocumentRequest"}}}},"responses":{"200":{"description":"Conversion job output","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ConvertDocumentResponse"}}}}}}}},"components":{"securitySchemes":{"EpilotAuth":{"type":"http","scheme":"bearer","description":"Authorization header with epilot OAuth2 bearer token","bearerFormat":"JWT"}},"schemas":{"S3Reference":{"type":"object","properties":{"bucket":{"type":"string","example":"document-api-prod"},"key":{"type":"string","example":"uploads/my-template.pdf"}},"required":["bucket","key"]},"ErrorOutput":{"type":"object","properties":{"error_message":{"description":"Error message","type":"string"},"error_code":{"$ref":"#/components/schemas/ErrorCode"},"error_details":{"anyOf":[{"$ref":"#/components/schemas/InvalidCustomVariableErrorDetails"},{"$ref":"#/components/schemas/InternalErrorDetails"},{"$ref":"#/components/schemas/DocxTemplaterErrorDetails"}]}}},"InvalidCustomVariableErrorDetails":{"description":"Error details for invalid custom variables. This error will appear under \'PARSE_ERROR\' error code.","type":"array","items":{"$ref":"#/components/schemas/InvalidCustomVariableErrorDetail"}},"InvalidCustomVariableErrorDetail":{"type":"object","additionalProperties":true,"properties":{"explanation":{"description":"Explanation for the error","type":"string"},"context":{"description":"Context for the error","type":"object","properties":{"invalid_variables":{"description":"List of invalid variables","type":"array","items":{"type":"object","description":"Invalid variable","properties":{"variable":{"description":"Variable name","type":"string"},"error":{"description":"Explanation for the error","type":"string"}}}}}}}},"InternalErrorDetails":{"description":"Error details for internal error. This error will appear under \'INTERNAL_ERROR\' error code.","type":"array","items":{"type":"object","properties":{"items":{"$ref":"#/components/schemas/InternalErrorDetail"}}}},"InternalErrorDetail":{"type":"object","description":"Internal error detail","properties":{"name":{"description":"Name of the error","type":"string"},"message":{"description":"Error message","type":"string"},"stack":{"description":"Stack trace","type":"string"},"cause":{"description":"Cause of the error","type":"string"}}},"DocxTemplaterErrorDetails":{"description":"Error details for DocxTemplater error. This error will appear under \'PARSE_ERROR\' error code.\\nSee https://docxtemplater.com/docs/errors/#error-schema for more details.\\n","type":"array","items":{"$ref":"#/components/schemas/DocxTemplaterErrorDetail"}},"DocxTemplaterErrorDetail":{"type":"object","description":"DocxTemplater error detail","properties":{"id":{"description":"Id of the error","type":"string"},"context":{"description":"Context of the error","type":"string"},"explanation":{"description":"Explanation of the error","type":"string"}}},"ErrorCode":{"description":"Error codes for document generation:\\n- PARSE_ERROR - Error while parsing the document. Normally related with a bad template using the wrong DocxTemplater syntax.\\n- DOC_TO_PDF_CONVERT_ERROR - Error while converting the document to PDF. Normally related with a ConvertAPI failure.\\n- INTERNAL_ERROR - Internal error. Please contact support.\\n- INVALID_TEMPLATE_FORMAT - Invalid template format (only .docx is supported). This can happen due to a bad word file or an unsupported file extension.\\n","type":"string","enum":["PARSE_ERROR","DOC_TO_PDF_CONVERT_ERROR","INTERNAL_ERROR","INVALID_TEMPLATE_FORMAT"]},"TemplateSettings":{"type":"object","description":"Template Settings for document generation","properties":{"custom_margins":{"description":"Custom margins for the document","type":"object","properties":{"top":{"description":"Top margin in cm","type":"number","example":2.54},"bottom":{"description":"Bottom margin in cm","type":"number","example":2.54}}},"suggested_margins":{"description":"Suggested margins for the document","type":"object","properties":{"top":{"description":"Top margin in cm","type":"number","example":2.54},"bottom":{"description":"Bottom margin in cm","type":"number","example":2.54}}},"display_margin_guidelines":{"description":"Display margin guidelines (applicable to partial generation only)","type":"boolean","example":true},"enable_data_table_margin_autofix":{"description":"Enable data table margin autofix","type":"boolean","example":false},"template_with_datatable":{"description":"A flag that indicates whether the template has 1 or more data tables in it","type":"boolean","example":false},"enabled_template_settings_persistence":{"description":"Enables the persistance of template settings","type":"boolean","example":false},"misconfigured_margins":{"description":"An indication that the page margins are misconfigured","type":"boolean","example":false},"file_entity_id":{"description":"The file entity id, used when persisting a new template version with updated settings","type":"string","format":"uuid","example":"1a2b3c4d-5e6f-7g8h-9i0j-1k2l3m4n5o6p"}}},"DocumentGenerationV2Request":{"type":"object","properties":{"template_document":{"description":"Input template document","type":"object","properties":{"filename":{"type":"string","description":"Document original filename","example":"my-template-{{order.order_number}}.docx"},"s3ref":{"$ref":"#/components/schemas/S3Reference"}}},"context_entity_id":{"type":"string","format":"uuid","description":"Entity to use for variable context","example":"bcd0aab9-b544-42b0-8bfb-6d449d02eacc"},"user_id":{"type":"string","description":"User Id for variable context","example":100321},"language":{"type":"string","description":"Language","example":"en"},"variable_payload":{"description":"Custom values for variables in the template. Takes the higher precedence than others.","type":"object","properties":{"additionalProperties":{"type":"string"}}},"context_data":{"description":"Custom values for variables in the template. Takes the higher precedence than others.","type":"object","properties":{"additionalProperties":{"type":"string"}}},"template_settings":{"$ref":"#/components/schemas/TemplateSettings"}},"required":["template_document"]},"DocumentGenerationV2Response":{"type":"object","properties":{"job_id":{"type":"string","format":"uuid"},"job_status":{"description":"Status of the job","type":"string","enum":["STARTED","PROCESSING","SUCCESS","FAILED"]},"message":{"description":"A message explaining the progress","type":"string"},"pdf_output":{"type":"object","properties":{"preview_url":{"description":"Pre-signed S3 GET URL for PDF preview","type":"string","example":"https://document-api-prod.s3.eu-central-1.amazonaws.com/preview/my-template-OR-001.pdf"},"output_document":{"type":"object","properties":{"filename":{"description":"Generated document filename for PDF","type":"string","example":"my-template-OR-001.pdf"},"s3ref":{"$ref":"#/components/schemas/S3Reference"}},"example":{"s3ref":{"bucket":"document-api-preview-prod","key":"preview/my-template.pdf"}}}}},"docx_output":{"type":"object","properties":{"preview_url":{"description":"Pre-signed S3 GET URL for DOCX preview","type":"string","example":"https://document-api-prod.s3.eu-central-1.amazonaws.com/preview/my-template-OR-001.docx"},"output_document":{"type":"object","properties":{"filename":{"description":"Generated document filename for DOCX","type":"string","example":"my-template-OR-001.docx"},"s3ref":{"$ref":"#/components/schemas/S3Reference"}},"example":{"s3ref":{"bucket":"document-api-preview-prod","key":"preview/my-template.docx"}}}}},"error_output":{"$ref":"#/components/schemas/ErrorOutput"},"variable_payload":{"description":"List of variables and its corresponding replaced values from the document template","type":"object","properties":{"additionalProperties":{"type":"string"}}},"template_settings":{"$ref":"#/components/schemas/TemplateSettings"}}},"ConvertDocumentRequest":{"type":"object","properties":{"input_document":{"description":"Input document","type":"object","properties":{"s3ref":{"$ref":"#/components/schemas/S3Reference"}},"required":["s3ref"]},"output_format":{"description":"Output format of the document","type":"string","enum":["pdf"]},"output_filename":{"description":"Filename of the output document (optional)","type":"string","example":"converted.pdf"}},"required":["input_document","output_format"]},"ConvertDocumentResponse":{"type":"object","properties":{"output_document":{"type":"object","properties":{"preview_url":{"description":"Pre-signed URL for the converted document","type":"string","example":"https://document-api-prod.s3.eu-central-1.amazonaws.com/preview/converted.pdf"},"s3ref":{"$ref":"#/components/schemas/S3Reference"}}}}}}},"servers":[{"url":"https://document.sls.epilot.io"},{"url":"https://document.sls.epilot.io"}]}')}},t={},r=function r(o){var n=t[o];if(void 0!==n)return n.exports;var i=t[o]={exports:{}};return e[o].call(i.exports,i,i.exports,r),i.exports}(914),o=exports;for(var n in r)o[n]=r[n];r.__esModule&&Object.defineProperty(o,"__esModule",{value:!0})})();
|
package/dist/index.d.ts
CHANGED
package/dist/openapi.d.ts
CHANGED
|
@@ -1,12 +1,11 @@
|
|
|
1
1
|
/* eslint-disable */
|
|
2
|
-
|
|
3
2
|
import type {
|
|
4
3
|
OpenAPIClient,
|
|
5
4
|
Parameters,
|
|
6
5
|
UnknownParamsObject,
|
|
7
6
|
OperationResponse,
|
|
8
7
|
AxiosRequestConfig,
|
|
9
|
-
} from 'openapi-client-axios';
|
|
8
|
+
} from 'openapi-client-axios';
|
|
10
9
|
|
|
11
10
|
declare namespace Components {
|
|
12
11
|
namespace Schemas {
|
|
@@ -461,18 +460,3 @@ export interface PathsDictionary {
|
|
|
461
460
|
}
|
|
462
461
|
|
|
463
462
|
export type Client = OpenAPIClient<OperationMethods, PathsDictionary>
|
|
464
|
-
|
|
465
|
-
export type ConvertDocumentRequest = Components.Schemas.ConvertDocumentRequest;
|
|
466
|
-
export type ConvertDocumentResponse = Components.Schemas.ConvertDocumentResponse;
|
|
467
|
-
export type DocumentGenerationV2Request = Components.Schemas.DocumentGenerationV2Request;
|
|
468
|
-
export type DocumentGenerationV2Response = Components.Schemas.DocumentGenerationV2Response;
|
|
469
|
-
export type DocxTemplaterErrorDetail = Components.Schemas.DocxTemplaterErrorDetail;
|
|
470
|
-
export type DocxTemplaterErrorDetails = Components.Schemas.DocxTemplaterErrorDetails;
|
|
471
|
-
export type ErrorCode = Components.Schemas.ErrorCode;
|
|
472
|
-
export type ErrorOutput = Components.Schemas.ErrorOutput;
|
|
473
|
-
export type InternalErrorDetail = Components.Schemas.InternalErrorDetail;
|
|
474
|
-
export type InternalErrorDetails = Components.Schemas.InternalErrorDetails;
|
|
475
|
-
export type InvalidCustomVariableErrorDetail = Components.Schemas.InvalidCustomVariableErrorDetail;
|
|
476
|
-
export type InvalidCustomVariableErrorDetails = Components.Schemas.InvalidCustomVariableErrorDetails;
|
|
477
|
-
export type S3Reference = Components.Schemas.S3Reference;
|
|
478
|
-
export type TemplateSettings = Components.Schemas.TemplateSettings;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@epilot/document-client",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.15.0",
|
|
4
4
|
"description": "API Client for epilot document API",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|
|
@@ -9,9 +9,10 @@
|
|
|
9
9
|
"typescript": "tsc",
|
|
10
10
|
"bundle-definition": "webpack",
|
|
11
11
|
"openapi": "node ../../scripts/update-openapi.js https://docs.api.epilot.io/document.yaml",
|
|
12
|
+
"openapi:local": "node ../../scripts/update-openapi.js ../../../document-api/lambda/ApiHandlerFunction/openapi.yml",
|
|
12
13
|
"typegen": "openapi typegen src/openapi.json --client -b '/* eslint-disable */' > src/openapi.d.ts",
|
|
13
14
|
"build": "tsc && npm run build:patch && npm run bundle-definition",
|
|
14
|
-
"build:patch": "sed -i '/^__exportStar.*openapi.*$/d' dist/index.js",
|
|
15
|
+
"build:patch": "sed -i'' -e '/^__exportStar.*openapi.*$/d' dist/index.js",
|
|
15
16
|
"build:watch": "npm run build && tsc -w",
|
|
16
17
|
"release-alpha": "npm version prerelease --preid alpha",
|
|
17
18
|
"lint": "../../node_modules/eslint/bin/eslint.js src"
|
|
@@ -54,6 +55,5 @@
|
|
|
54
55
|
"typescript": "^4.1.3",
|
|
55
56
|
"webpack": "^5.18.0",
|
|
56
57
|
"webpack-cli": "^4.4.0"
|
|
57
|
-
}
|
|
58
|
-
"gitHead": "cb7e6acc938eb178e531c19834ea8bd0d6445e6f"
|
|
58
|
+
}
|
|
59
59
|
}
|
package/src/openapi.d.ts
CHANGED
|
@@ -155,6 +155,76 @@ declare namespace Components {
|
|
|
155
155
|
};
|
|
156
156
|
template_settings?: /* Template Settings for document generation */ TemplateSettings;
|
|
157
157
|
}
|
|
158
|
+
export interface DocumentMetaRequest {
|
|
159
|
+
/**
|
|
160
|
+
* Input template document
|
|
161
|
+
*/
|
|
162
|
+
template_document?: {
|
|
163
|
+
s3ref?: S3Reference;
|
|
164
|
+
};
|
|
165
|
+
}
|
|
166
|
+
export interface DocumentMetaResponse {
|
|
167
|
+
/**
|
|
168
|
+
* Page margins for the document
|
|
169
|
+
*/
|
|
170
|
+
page_margins?: {
|
|
171
|
+
/**
|
|
172
|
+
* Top margin in cm
|
|
173
|
+
* example:
|
|
174
|
+
* 2.54
|
|
175
|
+
*/
|
|
176
|
+
top?: number;
|
|
177
|
+
/**
|
|
178
|
+
* Bottom margin in cm
|
|
179
|
+
* example:
|
|
180
|
+
* 2.54
|
|
181
|
+
*/
|
|
182
|
+
bottom?: number;
|
|
183
|
+
/**
|
|
184
|
+
* Left margin in cm
|
|
185
|
+
* example:
|
|
186
|
+
* 2.54
|
|
187
|
+
*/
|
|
188
|
+
left?: number;
|
|
189
|
+
/**
|
|
190
|
+
* Right margin in cm
|
|
191
|
+
* example:
|
|
192
|
+
* 2.54
|
|
193
|
+
*/
|
|
194
|
+
right?: number;
|
|
195
|
+
/**
|
|
196
|
+
* Header margin in cm
|
|
197
|
+
* example:
|
|
198
|
+
* 2.54
|
|
199
|
+
*/
|
|
200
|
+
header?: number;
|
|
201
|
+
/**
|
|
202
|
+
* Footer margin in cm
|
|
203
|
+
* example:
|
|
204
|
+
* 2.54
|
|
205
|
+
*/
|
|
206
|
+
footer?: number;
|
|
207
|
+
};
|
|
208
|
+
/**
|
|
209
|
+
* List of variables in the document
|
|
210
|
+
* example:
|
|
211
|
+
* [
|
|
212
|
+
* "order.billing_contact.0.salutation",
|
|
213
|
+
* "order.billing_contact.0.title",
|
|
214
|
+
* "order_table",
|
|
215
|
+
* "stayHardStatic",
|
|
216
|
+
* "opportunity[attribute_name]",
|
|
217
|
+
* "opportunity[\"attribute_name\"]",
|
|
218
|
+
* "opportunity.[attribute_name]",
|
|
219
|
+
* "attribute_name",
|
|
220
|
+
* "opportunities.0.attribute_name",
|
|
221
|
+
* "opportunities[0].attribute_name",
|
|
222
|
+
* "contact.opportunities[0].attribute_name",
|
|
223
|
+
* "opportunities[Primary].attribute_name"
|
|
224
|
+
* ]
|
|
225
|
+
*/
|
|
226
|
+
variables?: string[];
|
|
227
|
+
}
|
|
158
228
|
/**
|
|
159
229
|
* DocxTemplater error detail
|
|
160
230
|
*/
|
|
@@ -364,19 +434,43 @@ declare namespace Paths {
|
|
|
364
434
|
namespace Parameters {
|
|
365
435
|
export type JobId = string;
|
|
366
436
|
export type Mode = "partial_generation" | "full_generation";
|
|
437
|
+
export type PreviewMode = "open" | "download";
|
|
367
438
|
}
|
|
368
439
|
export interface QueryParameters {
|
|
369
440
|
job_id?: Parameters.JobId;
|
|
370
441
|
mode?: Parameters.Mode;
|
|
442
|
+
preview_mode?: Parameters.PreviewMode;
|
|
371
443
|
}
|
|
372
444
|
export type RequestBody = Components.Schemas.DocumentGenerationV2Request;
|
|
373
445
|
namespace Responses {
|
|
374
446
|
export type $200 = Components.Schemas.DocumentGenerationV2Response;
|
|
375
447
|
}
|
|
376
448
|
}
|
|
449
|
+
namespace GetTemplateMeta {
|
|
450
|
+
export type RequestBody = Components.Schemas.DocumentMetaRequest;
|
|
451
|
+
namespace Responses {
|
|
452
|
+
export type $200 = Components.Schemas.DocumentMetaResponse;
|
|
453
|
+
export type $400 = Components.Schemas.ErrorOutput;
|
|
454
|
+
export type $403 = Components.Schemas.ErrorOutput;
|
|
455
|
+
}
|
|
456
|
+
}
|
|
377
457
|
}
|
|
378
458
|
|
|
379
459
|
export interface OperationMethods {
|
|
460
|
+
/**
|
|
461
|
+
* getTemplateMeta - getTemplateMeta
|
|
462
|
+
*
|
|
463
|
+
* Get metadata for a document template
|
|
464
|
+
*
|
|
465
|
+
* Supported input document types:
|
|
466
|
+
* - .docx
|
|
467
|
+
*
|
|
468
|
+
*/
|
|
469
|
+
'getTemplateMeta'(
|
|
470
|
+
parameters?: Parameters<UnknownParamsObject> | null,
|
|
471
|
+
data?: Paths.GetTemplateMeta.RequestBody,
|
|
472
|
+
config?: AxiosRequestConfig
|
|
473
|
+
): OperationResponse<Paths.GetTemplateMeta.Responses.$200>
|
|
380
474
|
/**
|
|
381
475
|
* generateDocumentV2 - generateDocumentV2
|
|
382
476
|
*
|
|
@@ -417,6 +511,22 @@ export interface OperationMethods {
|
|
|
417
511
|
}
|
|
418
512
|
|
|
419
513
|
export interface PathsDictionary {
|
|
514
|
+
['/v2/documents:meta']: {
|
|
515
|
+
/**
|
|
516
|
+
* getTemplateMeta - getTemplateMeta
|
|
517
|
+
*
|
|
518
|
+
* Get metadata for a document template
|
|
519
|
+
*
|
|
520
|
+
* Supported input document types:
|
|
521
|
+
* - .docx
|
|
522
|
+
*
|
|
523
|
+
*/
|
|
524
|
+
'post'(
|
|
525
|
+
parameters?: Parameters<UnknownParamsObject> | null,
|
|
526
|
+
data?: Paths.GetTemplateMeta.RequestBody,
|
|
527
|
+
config?: AxiosRequestConfig
|
|
528
|
+
): OperationResponse<Paths.GetTemplateMeta.Responses.$200>
|
|
529
|
+
}
|
|
420
530
|
['/v2/documents:generate']: {
|
|
421
531
|
/**
|
|
422
532
|
* generateDocumentV2 - generateDocumentV2
|
|
@@ -466,6 +576,8 @@ export type ConvertDocumentRequest = Components.Schemas.ConvertDocumentRequest;
|
|
|
466
576
|
export type ConvertDocumentResponse = Components.Schemas.ConvertDocumentResponse;
|
|
467
577
|
export type DocumentGenerationV2Request = Components.Schemas.DocumentGenerationV2Request;
|
|
468
578
|
export type DocumentGenerationV2Response = Components.Schemas.DocumentGenerationV2Response;
|
|
579
|
+
export type DocumentMetaRequest = Components.Schemas.DocumentMetaRequest;
|
|
580
|
+
export type DocumentMetaResponse = Components.Schemas.DocumentMetaResponse;
|
|
469
581
|
export type DocxTemplaterErrorDetail = Components.Schemas.DocxTemplaterErrorDetail;
|
|
470
582
|
export type DocxTemplaterErrorDetails = Components.Schemas.DocxTemplaterErrorDetails;
|
|
471
583
|
export type ErrorCode = Components.Schemas.ErrorCode;
|
package/LICENSE
DELETED
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
The MIT License (MIT)
|
|
2
|
-
|
|
3
|
-
Copyright (c) 2022 epilot GmbH
|
|
4
|
-
|
|
5
|
-
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
-
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
-
in the Software without restriction, including without limitation the rights
|
|
8
|
-
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
-
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
-
furnished to do so, subject to the following conditions:
|
|
11
|
-
|
|
12
|
-
The above copyright notice and this permission notice shall be included in
|
|
13
|
-
all copies or substantial portions of the Software.
|
|
14
|
-
|
|
15
|
-
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
-
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
-
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
-
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
-
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
-
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
|
21
|
-
THE SOFTWARE.
|