@sprucelabs/spruce-agent-utils 0.0.1 → 0.0.2
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/build/.spruce/errors/errors.types.d.ts +13 -0
- package/build/.spruce/errors/errors.types.js +2 -0
- package/build/.spruce/errors/options.types.d.ts +7 -0
- package/build/.spruce/errors/options.types.js +2 -0
- package/build/.spruce/errors/spruceAgentUtils/agentLoaderNotConfigured.schema.d.ts +3 -0
- package/build/.spruce/errors/spruceAgentUtils/agentLoaderNotConfigured.schema.js +11 -0
- package/build/.spruce/schemas/fields/fieldClassMap.d.ts +2 -0
- package/build/.spruce/schemas/fields/fieldClassMap.js +4 -0
- package/{src/.spruce/schemas/fields/fields.types.ts → build/.spruce/schemas/fields/fields.types.d.ts} +1 -1
- package/build/.spruce/schemas/fields/fields.types.js +2 -0
- package/build/SpruceAgent.d.ts +13 -0
- package/build/SpruceAgent.js +30 -0
- package/build/agentAssert.d.ts +7 -0
- package/build/agentAssert.js +30 -0
- package/build/errors/SpruceError.d.ts +6 -0
- package/build/errors/SpruceError.js +25 -0
- package/build/errors/agentLoaderNotConfigured.builder.d.ts +6 -0
- package/build/errors/agentLoaderNotConfigured.builder.js +8 -0
- package/build/esm/.spruce/errors/errors.types.d.ts +13 -0
- package/build/esm/.spruce/errors/errors.types.js +1 -0
- package/build/esm/.spruce/errors/errors.types.js.map +1 -0
- package/build/esm/.spruce/errors/options.types.d.ts +7 -0
- package/build/esm/.spruce/errors/options.types.js +1 -0
- package/build/esm/.spruce/errors/options.types.js.map +1 -0
- package/build/esm/.spruce/errors/spruceAgentUtils/agentLoaderNotConfigured.schema.d.ts +3 -0
- package/build/esm/.spruce/errors/spruceAgentUtils/agentLoaderNotConfigured.schema.js +9 -0
- package/build/esm/.spruce/errors/spruceAgentUtils/agentLoaderNotConfigured.schema.js.map +1 -0
- package/build/esm/.spruce/schemas/fields/fieldClassMap.d.ts +2 -0
- package/build/esm/.spruce/schemas/fields/fieldClassMap.js +2 -0
- package/build/esm/.spruce/schemas/fields/fieldClassMap.js.map +1 -0
- package/build/esm/.spruce/schemas/fields/fields.types.d.ts +1 -0
- package/build/esm/.spruce/schemas/fields/fields.types.js +1 -0
- package/build/esm/.spruce/schemas/fields/fields.types.js.map +1 -0
- package/build/esm/.spruce/schemas/tmp/valueType.tmp.d.ts +8 -0
- package/build/esm/.spruce/schemas/tmp/valueType.tmp.js +31 -0
- package/build/esm/.spruce/schemas/tmp/valueType.tmp.js.map +1 -0
- package/build/esm/.spruce/settings.json +15 -0
- package/build/esm/AgentLoader.d.ts +13 -0
- package/build/esm/AgentLoader.js +31 -0
- package/build/esm/AgentLoader.js.map +1 -0
- package/build/esm/SpruceAgent.d.ts +13 -0
- package/build/esm/SpruceAgent.js +24 -0
- package/build/esm/SpruceAgent.js.map +1 -0
- package/build/esm/agentAssert.d.ts +7 -0
- package/build/esm/agentAssert.js +25 -0
- package/build/esm/agentAssert.js.map +1 -0
- package/build/esm/errors/SpruceError.d.ts +6 -0
- package/build/esm/errors/SpruceError.js +19 -0
- package/build/esm/errors/SpruceError.js.map +1 -0
- package/build/esm/errors/agentLoaderNotConfigured.builder.d.ts +6 -0
- package/{src/errors/agentLoaderNotConfigured.builder.ts → build/esm/errors/agentLoaderNotConfigured.builder.js} +2 -3
- package/build/esm/errors/agentLoaderNotConfigured.builder.js.map +1 -0
- package/build/esm/index.d.ts +3 -0
- package/build/esm/index.js +3 -0
- package/build/esm/index.js.map +1 -0
- package/build/index.d.ts +3 -0
- package/build/index.js +25 -0
- package/package.json +19 -1
- package/.circleci/config.yml +0 -80
- package/.nvmrc +0 -1
- package/.vscode/launch.json +0 -58
- package/.vscode/settings.json +0 -67
- package/.vscode/tasks.json +0 -112
- package/eslint.config.mjs +0 -3
- package/src/.spruce/errors/errors.types.ts +0 -29
- package/src/.spruce/errors/options.types.ts +0 -10
- package/src/.spruce/errors/spruceAgentUtils/agentLoaderNotConfigured.schema.ts +0 -16
- package/src/.spruce/schemas/fields/fieldClassMap.ts +0 -6
- package/src/SpruceAgent.ts +0 -40
- package/src/__tests__/behavioral/AgentLoader.test.ts +0 -53
- package/src/__tests__/behavioral/TestingAgentLoader.test.ts +0 -74
- package/src/agentAssert.ts +0 -35
- package/src/errors/SpruceError.ts +0 -23
- package/src/index.ts +0 -3
- package/tsconfig.json +0 -39
- /package/{src → build}/.spruce/settings.json +0 -0
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { default as SchemaEntity } from '@sprucelabs/schema';
|
|
2
|
+
import * as SpruceSchema from '@sprucelabs/schema';
|
|
3
|
+
export declare namespace SpruceErrors.SpruceAgentUtils {
|
|
4
|
+
interface AgentLoaderNotConfigured {
|
|
5
|
+
}
|
|
6
|
+
interface AgentLoaderNotConfiguredSchema extends SpruceSchema.Schema {
|
|
7
|
+
id: 'agentLoaderNotConfigured';
|
|
8
|
+
namespace: 'SpruceAgentUtils';
|
|
9
|
+
name: 'agent loader not configured';
|
|
10
|
+
fields: {};
|
|
11
|
+
}
|
|
12
|
+
type AgentLoaderNotConfiguredEntity = SchemaEntity<SpruceErrors.SpruceAgentUtils.AgentLoaderNotConfiguredSchema>;
|
|
13
|
+
}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { SpruceErrors } from "./errors.types";
|
|
2
|
+
import { ErrorOptions as ISpruceErrorOptions } from "@sprucelabs/error";
|
|
3
|
+
export interface AgentLoaderNotConfiguredErrorOptions extends SpruceErrors.SpruceAgentUtils.AgentLoaderNotConfigured, ISpruceErrorOptions {
|
|
4
|
+
code: 'AGENT_LOADER_NOT_CONFIGURED';
|
|
5
|
+
}
|
|
6
|
+
type ErrorOptions = AgentLoaderNotConfiguredErrorOptions;
|
|
7
|
+
export default ErrorOptions;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const schema_1 = require("@sprucelabs/schema");
|
|
4
|
+
const agentLoaderNotConfiguredSchema = {
|
|
5
|
+
id: 'agentLoaderNotConfigured',
|
|
6
|
+
namespace: 'SpruceAgentUtils',
|
|
7
|
+
name: 'agent loader not configured',
|
|
8
|
+
fields: {}
|
|
9
|
+
};
|
|
10
|
+
schema_1.SchemaRegistry.getInstance().trackSchema(agentLoaderNotConfiguredSchema);
|
|
11
|
+
exports.default = agentLoaderNotConfiguredSchema;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export { FieldDefinitions, FieldDefinitionMap, FieldValueTypeGeneratorMap, FieldMap } from '@sprucelabs/schema'
|
|
1
|
+
export { FieldDefinitions, FieldDefinitionMap, FieldValueTypeGeneratorMap, FieldMap } from '@sprucelabs/schema';
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { MercuryClient } from '@sprucelabs/mercury-client';
|
|
2
|
+
export default class SpruceAgent implements AgentLoader {
|
|
3
|
+
private static instance?;
|
|
4
|
+
private client;
|
|
5
|
+
private constructor();
|
|
6
|
+
static setup(client: MercuryClient): void;
|
|
7
|
+
static reset(): void;
|
|
8
|
+
static getInstance(): SpruceAgent;
|
|
9
|
+
getName(): Promise<string>;
|
|
10
|
+
}
|
|
11
|
+
export interface AgentLoader {
|
|
12
|
+
getName(): Promise<string>;
|
|
13
|
+
}
|
|
@@ -0,0 +1,30 @@
|
|
|
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
|
+
const SpruceError_1 = __importDefault(require("./errors/SpruceError"));
|
|
7
|
+
class SpruceAgent {
|
|
8
|
+
constructor(client) {
|
|
9
|
+
this.client = client;
|
|
10
|
+
}
|
|
11
|
+
static setup(client) {
|
|
12
|
+
this.instance = new SpruceAgent(client);
|
|
13
|
+
}
|
|
14
|
+
static reset() {
|
|
15
|
+
delete this.instance;
|
|
16
|
+
}
|
|
17
|
+
static getInstance() {
|
|
18
|
+
if (this.instance) {
|
|
19
|
+
return this.instance;
|
|
20
|
+
}
|
|
21
|
+
throw new SpruceError_1.default({
|
|
22
|
+
code: 'AGENT_LOADER_NOT_CONFIGURED',
|
|
23
|
+
});
|
|
24
|
+
}
|
|
25
|
+
async getName() {
|
|
26
|
+
const [{ name }] = await this.client.emitAndFlattenResponses('get-agent-name::v2020_12_25');
|
|
27
|
+
return name;
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
exports.default = SpruceAgent;
|
|
@@ -0,0 +1,30 @@
|
|
|
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
|
+
const schema_1 = require("@sprucelabs/schema");
|
|
7
|
+
const spruce_test_fixtures_1 = require("@sprucelabs/spruce-test-fixtures");
|
|
8
|
+
const test_utils_1 = require("@sprucelabs/test-utils");
|
|
9
|
+
const SpruceAgent_1 = __importDefault(require("./SpruceAgent"));
|
|
10
|
+
let sharedClient;
|
|
11
|
+
let name = (0, test_utils_1.generateId)();
|
|
12
|
+
const agentAssert = {
|
|
13
|
+
async beforeEach(client) {
|
|
14
|
+
name = (0, test_utils_1.generateId)();
|
|
15
|
+
sharedClient = client;
|
|
16
|
+
await spruce_test_fixtures_1.eventFaker.on('get-agent-name::v2020_12_25', () => {
|
|
17
|
+
return { name };
|
|
18
|
+
});
|
|
19
|
+
},
|
|
20
|
+
getName: () => {
|
|
21
|
+
test_utils_1.assert.isTruthy(sharedClient, 'You must call agentAssert.beforeEach(this.fakedClient) in your test to use agentAssert');
|
|
22
|
+
SpruceAgent_1.default.getInstance();
|
|
23
|
+
return name;
|
|
24
|
+
},
|
|
25
|
+
includesAgentName: (text) => {
|
|
26
|
+
(0, schema_1.assertOptions)({ text }, ['text']);
|
|
27
|
+
test_utils_1.assert.doesInclude(text, name, `The tex must include agent name!`);
|
|
28
|
+
},
|
|
29
|
+
};
|
|
30
|
+
exports.default = agentAssert;
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import BaseSpruceError from '@sprucelabs/error';
|
|
2
|
+
import ErrorOptions from './../.spruce/errors/options.types';
|
|
3
|
+
export default class SpruceError extends BaseSpruceError<ErrorOptions> {
|
|
4
|
+
/** an easy to understand version of the errors */
|
|
5
|
+
friendlyMessage(): string;
|
|
6
|
+
}
|
|
@@ -0,0 +1,25 @@
|
|
|
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
|
+
const error_1 = __importDefault(require("@sprucelabs/error"));
|
|
7
|
+
class SpruceError extends error_1.default {
|
|
8
|
+
/** an easy to understand version of the errors */
|
|
9
|
+
friendlyMessage() {
|
|
10
|
+
const { options } = this;
|
|
11
|
+
let message;
|
|
12
|
+
switch (options?.code) {
|
|
13
|
+
case 'AGENT_LOADER_NOT_CONFIGURED':
|
|
14
|
+
message = `The agent loader has not been configured. Please call AgentLoader.setup(...) first. Best place is probably in the did-boot of your skill.`;
|
|
15
|
+
break;
|
|
16
|
+
default:
|
|
17
|
+
message = super.friendlyMessage();
|
|
18
|
+
}
|
|
19
|
+
const fullMessage = options.friendlyMessage
|
|
20
|
+
? options.friendlyMessage
|
|
21
|
+
: message;
|
|
22
|
+
return fullMessage;
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
exports.default = SpruceError;
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const schema_1 = require("@sprucelabs/schema");
|
|
4
|
+
exports.default = (0, schema_1.buildErrorSchema)({
|
|
5
|
+
id: 'agentLoaderNotConfigured',
|
|
6
|
+
name: 'agent loader not configured',
|
|
7
|
+
fields: {},
|
|
8
|
+
});
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { default as SchemaEntity } from '@sprucelabs/schema';
|
|
2
|
+
import * as SpruceSchema from '@sprucelabs/schema';
|
|
3
|
+
export declare namespace SpruceErrors.SpruceAgentUtils {
|
|
4
|
+
interface AgentLoaderNotConfigured {
|
|
5
|
+
}
|
|
6
|
+
interface AgentLoaderNotConfiguredSchema extends SpruceSchema.Schema {
|
|
7
|
+
id: 'agentLoaderNotConfigured';
|
|
8
|
+
namespace: 'SpruceAgentUtils';
|
|
9
|
+
name: 'agent loader not configured';
|
|
10
|
+
fields: {};
|
|
11
|
+
}
|
|
12
|
+
type AgentLoaderNotConfiguredEntity = SchemaEntity<SpruceErrors.SpruceAgentUtils.AgentLoaderNotConfiguredSchema>;
|
|
13
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"errors.types.js","sourceRoot":"","sources":["../../../src/.spruce/errors/errors.types.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { SpruceErrors } from "./errors.types";
|
|
2
|
+
import { ErrorOptions as ISpruceErrorOptions } from "@sprucelabs/error";
|
|
3
|
+
export interface AgentLoaderNotConfiguredErrorOptions extends SpruceErrors.SpruceAgentUtils.AgentLoaderNotConfigured, ISpruceErrorOptions {
|
|
4
|
+
code: 'AGENT_LOADER_NOT_CONFIGURED';
|
|
5
|
+
}
|
|
6
|
+
type ErrorOptions = AgentLoaderNotConfiguredErrorOptions;
|
|
7
|
+
export default ErrorOptions;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"options.types.js","sourceRoot":"","sources":["../../../src/.spruce/errors/options.types.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { SchemaRegistry } from '@sprucelabs/schema';
|
|
2
|
+
const agentLoaderNotConfiguredSchema = {
|
|
3
|
+
id: 'agentLoaderNotConfigured',
|
|
4
|
+
namespace: 'SpruceAgentUtils',
|
|
5
|
+
name: 'agent loader not configured',
|
|
6
|
+
fields: {}
|
|
7
|
+
};
|
|
8
|
+
SchemaRegistry.getInstance().trackSchema(agentLoaderNotConfiguredSchema);
|
|
9
|
+
export default agentLoaderNotConfiguredSchema;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"agentLoaderNotConfigured.schema.js","sourceRoot":"","sources":["../../../../src/.spruce/errors/spruceAgentUtils/agentLoaderNotConfigured.schema.ts"],"names":[],"mappings":";;AAAA,+CAAmD;AAKnD,MAAM,8BAA8B,GAAkE;IACrG,EAAE,EAAE,0BAA0B;IAC9B,SAAS,EAAE,kBAAkB;IAC7B,IAAI,EAAE,6BAA6B;IAC/B,MAAM,EAAE,EACP;CACL,CAAA;AAED,uBAAc,CAAC,WAAW,EAAE,CAAC,WAAW,CAAC,8BAA8B,CAAC,CAAA;AAExE,kBAAe,8BAA8B,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fieldClassMap.js","sourceRoot":"","sources":["../../../../src/.spruce/schemas/fields/fieldClassMap.ts"],"names":[],"mappings":";;AAAA,+CAAkD;AAKlD,kBAAe,sBAAa,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { FieldDefinitions, FieldDefinitionMap, FieldValueTypeGeneratorMap, FieldMap } from '@sprucelabs/schema';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fields.types.js","sourceRoot":"","sources":["../../../../src/.spruce/schemas/fields/fields.types.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,31 @@
|
|
|
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
|
+
const fieldClassMap_1 = __importDefault(require('./../fields/fieldClassMap.js'));
|
|
7
|
+
const schemaTemplateItems = [{ "id": "agentLoaderNotConfigured", "namespace": "SpruceAgentUtils", "schema": { "namespace": "SpruceAgentUtils", "id": "agentLoaderNotConfigured", "name": "agent loader not configured", "fields": {} }, "nameReadable": "agent loader not configured", "nameCamel": "agentLoaderNotConfigured", "namePascal": "AgentLoaderNotConfigured", "isNested": false, "destinationDir": "#spruce/errors" }];
|
|
8
|
+
// @ts-ignore
|
|
9
|
+
const generateTypeLiteral = (definition, renderAs, importAs) => {
|
|
10
|
+
const options = {
|
|
11
|
+
language: 'ts',
|
|
12
|
+
// @ts-ignore
|
|
13
|
+
templateItems: schemaTemplateItems,
|
|
14
|
+
globalNamespace: 'SpruceErrors',
|
|
15
|
+
definition,
|
|
16
|
+
importAs,
|
|
17
|
+
renderAs
|
|
18
|
+
};
|
|
19
|
+
const FieldClass = fieldClassMap_1.default[definition.type];
|
|
20
|
+
const details = FieldClass.generateTemplateDetails(options);
|
|
21
|
+
return details.valueType;
|
|
22
|
+
};
|
|
23
|
+
const valueTypes = {
|
|
24
|
+
"SpruceAgentUtils": {
|
|
25
|
+
"agentLoaderNotConfigured": {
|
|
26
|
+
"__latest": {},
|
|
27
|
+
},
|
|
28
|
+
},
|
|
29
|
+
};
|
|
30
|
+
exports.default = valueTypes;
|
|
31
|
+
//# sourceMappingURL=valueType.tmp.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"valueType.tmp.js","sourceRoot":"","sources":["../../../../src/.spruce/schemas/tmp/valueType.tmp.ts"],"names":[],"mappings":";;;;;AAEA,yFAAgE;AAOhE,MAAM,mBAAmB,GAAG,CAAC,EAAC,IAAI,EAAC,0BAA0B,EAAC,WAAW,EAAC,kBAAkB,EAAC,QAAQ,EAAC,EAAC,WAAW,EAAC,kBAAkB,EAAC,IAAI,EAAC,0BAA0B,EAAC,MAAM,EAAC,6BAA6B,EAAC,QAAQ,EAAC,EAAE,EAAC,EAAC,cAAc,EAAC,6BAA6B,EAAC,WAAW,EAAC,0BAA0B,EAAC,YAAY,EAAC,0BAA0B,EAAC,UAAU,EAAC,KAAK,EAAC,gBAAgB,EAAC,gBAAgB,EAAC,CAAC,CAAA;AACxY,aAAa;AACb,MAAM,mBAAmB,GAAG,CAAC,UAA4B,EAAE,QAA0B,EAAE,QAAgB,EAAE,EAAE;IAC1G,MAAM,OAAO,GAAiD;QAC7D,QAAQ,EAAE,IAAI;QACd,aAAa;QACb,aAAa,EAAE,mBAAmB;QAClC,eAAe,EAAE,cAAc;QAC/B,UAAU;QACV,QAAQ;QACR,QAAQ;KACR,CAAA;IAED,MAAM,UAAU,GAAG,uBAAa,CAAC,UAAU,CAAC,IAAI,CAAC,CAAA;IACjD,MAAM,OAAO,GAAG,UAAU,CAAC,uBAAuB,CACjD,OAAc,CACd,CAAA;IAED,OAAO,OAAO,CAAC,SAAS,CAAA;AACzB,CAAC,CAAA;AAGD,MAAM,UAAU,GAAG;IAClB,kBAAkB,EAAE;QACnB,0BAA0B,EAAE;YAC3B,UAAU,EAAC,EACV;SACD;KACD;CACD,CAAA;AAED,kBAAe,UAAU,CAAA"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { MercuryClient } from '@sprucelabs/mercury-client';
|
|
2
|
+
export default class SpruceAgent implements AgentLoader {
|
|
3
|
+
private static instance?;
|
|
4
|
+
private client;
|
|
5
|
+
private constructor();
|
|
6
|
+
static setup(client: MercuryClient): void;
|
|
7
|
+
static reset(): void;
|
|
8
|
+
static getInstance(): SpruceAgent;
|
|
9
|
+
getName(): Promise<string>;
|
|
10
|
+
}
|
|
11
|
+
export interface AgentLoader {
|
|
12
|
+
getName(): Promise<string>;
|
|
13
|
+
}
|
|
@@ -0,0 +1,31 @@
|
|
|
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
|
+
const SpruceError_1 = __importDefault(require('./errors/SpruceError.js'));
|
|
7
|
+
class SpruceAgent {
|
|
8
|
+
constructor(client) {
|
|
9
|
+
this.client = client;
|
|
10
|
+
}
|
|
11
|
+
static setup(client) {
|
|
12
|
+
this.instance = new SpruceAgent(client);
|
|
13
|
+
}
|
|
14
|
+
static reset() {
|
|
15
|
+
delete this.instance;
|
|
16
|
+
}
|
|
17
|
+
static getInstance() {
|
|
18
|
+
if (this.instance) {
|
|
19
|
+
return this.instance;
|
|
20
|
+
}
|
|
21
|
+
throw new SpruceError_1.default({
|
|
22
|
+
code: 'AGENT_LOADER_NOT_CONFIGURED',
|
|
23
|
+
});
|
|
24
|
+
}
|
|
25
|
+
async getName() {
|
|
26
|
+
const [{ name }] = await this.client.emitAndFlattenResponses('get-agent-name::v2020_12_25');
|
|
27
|
+
return name;
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
exports.default = SpruceAgent;
|
|
31
|
+
//# sourceMappingURL=AgentLoader.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AgentLoader.js","sourceRoot":"","sources":["../src/AgentLoader.ts"],"names":[],"mappings":";;;;;AACA,uEAA8C;AAE9C,MAAqB,WAAW;IAI5B,YAAoB,MAAqB;QACrC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAA;IACxB,CAAC;IAEM,MAAM,CAAC,KAAK,CAAC,MAAqB;QACrC,IAAI,CAAC,QAAQ,GAAG,IAAI,WAAW,CAAC,MAAM,CAAC,CAAA;IAC3C,CAAC;IAEM,MAAM,CAAC,KAAK;QACf,OAAO,IAAI,CAAC,QAAQ,CAAA;IACxB,CAAC;IAEM,MAAM,CAAC,WAAW;QACrB,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAChB,OAAO,IAAI,CAAC,QAAQ,CAAA;QACxB,CAAC;QACD,MAAM,IAAI,qBAAW,CAAC;YAClB,IAAI,EAAE,6BAA6B;SACtC,CAAC,CAAA;IACN,CAAC;IAEM,KAAK,CAAC,OAAO;QAChB,MAAM,CAAC,EAAE,IAAI,EAAE,CAAC,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,uBAAuB,CACxD,6BAA6B,CAChC,CAAA;QAED,OAAO,IAAI,CAAA;IACf,CAAC;CACJ;AAhCD,8BAgCC"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { MercuryClient } from '@sprucelabs/mercury-client';
|
|
2
|
+
export default class SpruceAgent implements AgentLoader {
|
|
3
|
+
private static instance?;
|
|
4
|
+
private client;
|
|
5
|
+
private constructor();
|
|
6
|
+
static setup(client: MercuryClient): void;
|
|
7
|
+
static reset(): void;
|
|
8
|
+
static getInstance(): SpruceAgent;
|
|
9
|
+
getName(): Promise<string>;
|
|
10
|
+
}
|
|
11
|
+
export interface AgentLoader {
|
|
12
|
+
getName(): Promise<string>;
|
|
13
|
+
}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import SpruceError from './errors/SpruceError.js';
|
|
2
|
+
export default class SpruceAgent {
|
|
3
|
+
constructor(client) {
|
|
4
|
+
this.client = client;
|
|
5
|
+
}
|
|
6
|
+
static setup(client) {
|
|
7
|
+
this.instance = new SpruceAgent(client);
|
|
8
|
+
}
|
|
9
|
+
static reset() {
|
|
10
|
+
delete this.instance;
|
|
11
|
+
}
|
|
12
|
+
static getInstance() {
|
|
13
|
+
if (this.instance) {
|
|
14
|
+
return this.instance;
|
|
15
|
+
}
|
|
16
|
+
throw new SpruceError({
|
|
17
|
+
code: 'AGENT_LOADER_NOT_CONFIGURED',
|
|
18
|
+
});
|
|
19
|
+
}
|
|
20
|
+
async getName() {
|
|
21
|
+
const [{ name }] = await this.client.emitAndFlattenResponses('get-agent-name::v2020_12_25');
|
|
22
|
+
return name;
|
|
23
|
+
}
|
|
24
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SpruceAgent.js","sourceRoot":"","sources":["../src/SpruceAgent.ts"],"names":[],"mappings":";;;;;AACA,uEAA8C;AAE9C,MAAqB,WAAW;IAI5B,YAAoB,MAAqB;QACrC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAA;IACxB,CAAC;IAEM,MAAM,CAAC,KAAK,CAAC,MAAqB;QACrC,IAAI,CAAC,QAAQ,GAAG,IAAI,WAAW,CAAC,MAAM,CAAC,CAAA;IAC3C,CAAC;IAEM,MAAM,CAAC,KAAK;QACf,OAAO,IAAI,CAAC,QAAQ,CAAA;IACxB,CAAC;IAEM,MAAM,CAAC,WAAW;QACrB,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAChB,OAAO,IAAI,CAAC,QAAQ,CAAA;QACxB,CAAC;QACD,MAAM,IAAI,qBAAW,CAAC;YAClB,IAAI,EAAE,6BAA6B;SACtC,CAAC,CAAA;IACN,CAAC;IAEM,KAAK,CAAC,OAAO;QAChB,MAAM,CAAC,EAAE,IAAI,EAAE,CAAC,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,uBAAuB,CACxD,6BAA6B,CAChC,CAAA;QAED,OAAO,IAAI,CAAA;IACf,CAAC;CACJ;AAhCD,8BAgCC"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { assertOptions } from '@sprucelabs/schema';
|
|
2
|
+
import { eventFaker } from '@sprucelabs/spruce-test-fixtures';
|
|
3
|
+
import { assert, generateId } from '@sprucelabs/test-utils';
|
|
4
|
+
import SpruceAgent from './SpruceAgent.js';
|
|
5
|
+
let sharedClient;
|
|
6
|
+
let name = generateId();
|
|
7
|
+
const agentAssert = {
|
|
8
|
+
async beforeEach(client) {
|
|
9
|
+
name = generateId();
|
|
10
|
+
sharedClient = client;
|
|
11
|
+
await eventFaker.on('get-agent-name::v2020_12_25', () => {
|
|
12
|
+
return { name };
|
|
13
|
+
});
|
|
14
|
+
},
|
|
15
|
+
getName: () => {
|
|
16
|
+
assert.isTruthy(sharedClient, 'You must call agentAssert.beforeEach(this.fakedClient) in your test to use agentAssert');
|
|
17
|
+
SpruceAgent.getInstance();
|
|
18
|
+
return name;
|
|
19
|
+
},
|
|
20
|
+
includesAgentName: (text) => {
|
|
21
|
+
assertOptions({ text }, ['text']);
|
|
22
|
+
assert.doesInclude(text, name, `The tex must include agent name!`);
|
|
23
|
+
},
|
|
24
|
+
};
|
|
25
|
+
export default agentAssert;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"agentAssert.js","sourceRoot":"","sources":["../src/agentAssert.ts"],"names":[],"mappings":";;;;;AACA,+CAAkD;AAClD,2EAA6D;AAC7D,uDAA2D;AAC3D,gEAAuC;AAEvC,IAAI,YAA2B,CAAA;AAC/B,IAAI,IAAI,GAAW,IAAA,uBAAU,GAAE,CAAA;AAE/B,MAAM,WAAW,GAAG;IAChB,KAAK,CAAC,UAAU,CAAC,MAAqB;QAClC,IAAI,GAAG,IAAA,uBAAU,GAAE,CAAA;QACnB,YAAY,GAAG,MAAM,CAAA;QACrB,MAAM,iCAAU,CAAC,EAAE,CAAC,6BAA6B,EAAE,GAAG,EAAE;YACpD,OAAO,EAAE,IAAI,EAAE,CAAA;QACnB,CAAC,CAAC,CAAA;IACN,CAAC;IACD,OAAO,EAAE,GAAG,EAAE;QACV,mBAAM,CAAC,QAAQ,CACX,YAAY,EACZ,wFAAwF,CAC3F,CAAA;QAED,qBAAW,CAAC,WAAW,EAAE,CAAA;QAEzB,OAAO,IAAI,CAAA;IACf,CAAC;IAED,iBAAiB,EAAE,CAAC,IAAY,EAAE,EAAE;QAChC,IAAA,sBAAa,EAAC,EAAE,IAAI,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,CAAA;QACjC,mBAAM,CAAC,WAAW,CAAC,IAAI,EAAE,IAAI,EAAE,kCAAkC,CAAC,CAAA;IACtE,CAAC;CACJ,CAAA;AAED,kBAAe,WAAW,CAAA"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import BaseSpruceError from '@sprucelabs/error';
|
|
2
|
+
import ErrorOptions from './../.spruce/errors/options.types';
|
|
3
|
+
export default class SpruceError extends BaseSpruceError<ErrorOptions> {
|
|
4
|
+
/** an easy to understand version of the errors */
|
|
5
|
+
friendlyMessage(): string;
|
|
6
|
+
}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import BaseSpruceError from '@sprucelabs/error';
|
|
2
|
+
export default class SpruceError extends BaseSpruceError {
|
|
3
|
+
/** an easy to understand version of the errors */
|
|
4
|
+
friendlyMessage() {
|
|
5
|
+
const { options } = this;
|
|
6
|
+
let message;
|
|
7
|
+
switch (options === null || options === void 0 ? void 0 : options.code) {
|
|
8
|
+
case 'AGENT_LOADER_NOT_CONFIGURED':
|
|
9
|
+
message = `The agent loader has not been configured. Please call AgentLoader.setup(...) first. Best place is probably in the did-boot of your skill.`;
|
|
10
|
+
break;
|
|
11
|
+
default:
|
|
12
|
+
message = super.friendlyMessage();
|
|
13
|
+
}
|
|
14
|
+
const fullMessage = options.friendlyMessage
|
|
15
|
+
? options.friendlyMessage
|
|
16
|
+
: message;
|
|
17
|
+
return fullMessage;
|
|
18
|
+
}
|
|
19
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SpruceError.js","sourceRoot":"","sources":["../../src/errors/SpruceError.ts"],"names":[],"mappings":";;;;;AAAA,8DAA+C;AAG/C,MAAqB,WAAY,SAAQ,eAA6B;IAClE,kDAAkD;IAC3C,eAAe;QAClB,MAAM,EAAE,OAAO,EAAE,GAAG,IAAI,CAAA;QACxB,IAAI,OAAO,CAAA;QACX,QAAQ,OAAO,EAAE,IAAI,EAAE,CAAC;YACpB,KAAK,6BAA6B;gBAC9B,OAAO,GAAG,2IAA2I,CAAA;gBACrJ,MAAK;YACT;gBACI,OAAO,GAAG,KAAK,CAAC,eAAe,EAAE,CAAA;QACzC,CAAC;QAED,MAAM,WAAW,GAAG,OAAO,CAAC,eAAe;YACvC,CAAC,CAAC,OAAO,CAAC,eAAe;YACzB,CAAC,CAAC,OAAO,CAAA;QAEb,OAAO,WAAW,CAAA;IACtB,CAAC;CACJ;AAnBD,8BAmBC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"agentLoaderNotConfigured.builder.js","sourceRoot":"","sources":["../../src/errors/agentLoaderNotConfigured.builder.ts"],"names":[],"mappings":";;AAAA,+CAAqD;AAErD,kBAAe,IAAA,yBAAgB,EAAC;IAC5B,EAAE,EAAE,0BAA0B;IAC9B,IAAI,EAAE,6BAA6B;IACnC,MAAM,EAAE,EAAE;CACb,CAAC,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA,6CAAsD;AAA7C,2HAAA,OAAO,OAAe;AAC/B,gDAA6B;AAC7B,6CAAsD;AAA7C,2HAAA,OAAO,OAAe"}
|
package/build/index.d.ts
ADDED
package/build/index.js
ADDED
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
17
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
18
|
+
};
|
|
19
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
20
|
+
exports.agentAssert = exports.SpruceAgent = void 0;
|
|
21
|
+
var SpruceAgent_1 = require("./SpruceAgent");
|
|
22
|
+
Object.defineProperty(exports, "SpruceAgent", { enumerable: true, get: function () { return __importDefault(SpruceAgent_1).default; } });
|
|
23
|
+
__exportStar(require("./SpruceAgent"), exports);
|
|
24
|
+
var agentAssert_1 = require("./agentAssert");
|
|
25
|
+
Object.defineProperty(exports, "agentAssert", { enumerable: true, get: function () { return __importDefault(agentAssert_1).default; } });
|