@sprucelabs/spruce-cli 23.0.0 → 24.0.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.
Files changed (35) hide show
  1. package/CHANGELOG.md +21 -0
  2. package/LICENSE +21 -0
  3. package/build/__tests__/behavioral/DeployingToSandbox.test.d.ts +6 -1
  4. package/build/__tests__/behavioral/DeployingToSandbox.test.js +54 -35
  5. package/build/__tests__/behavioral/DeployingToSandbox.test.js.map +1 -1
  6. package/build/__tests__/behavioral/events/KeepingEventsInSync2.test.js +6 -0
  7. package/build/__tests__/behavioral/events/KeepingEventsInSync2.test.js.map +1 -1
  8. package/build/__tests__/behavioral/schemas/CreatingSchemasWithGenerics.test.js +1 -1
  9. package/build/__tests__/behavioral/schemas/CreatingSchemasWithGenerics.test.js.map +1 -1
  10. package/build/__tests__/implementation/TerminalInterface.test.d.ts +1 -0
  11. package/build/__tests__/implementation/TerminalInterface.test.js +6 -0
  12. package/build/__tests__/implementation/TerminalInterface.test.js.map +1 -1
  13. package/build/errors/SpruceError.js +1 -1
  14. package/build/errors/SpruceError.js.map +1 -1
  15. package/build/features/skill/actions/LoginAction.js +1 -2
  16. package/build/features/skill/actions/LoginAction.js.map +1 -1
  17. package/build/index.js +0 -0
  18. package/build/utilities/isCi.js +1 -1
  19. package/build/utilities/isCi.js.map +1 -1
  20. package/package.json +32 -49
  21. package/src/__tests__/behavioral/DeployingToSandbox.test.ts +77 -44
  22. package/src/__tests__/behavioral/events/KeepingEventsInSync2.test.ts +13 -1
  23. package/src/__tests__/behavioral/schemas/CreatingSchemasWithGenerics.test.ts +2 -1
  24. package/src/__tests__/implementation/TerminalInterface.test.ts +9 -0
  25. package/src/errors/SpruceError.ts +1 -1
  26. package/src/features/skill/actions/LoginAction.ts +8 -7
  27. package/src/utilities/isCi.ts +1 -1
  28. package/.DS_Store +0 -0
  29. package/.env +0 -25
  30. package/.env-dev +0 -24
  31. package/.eslintcache +0 -1
  32. package/dist/spruce-darwin-arm64 +0 -0
  33. package/dist/spruce-linux-arm64 +0 -0
  34. package/junit.xml +0 -17
  35. package/yarn-error.log +0 -597
package/package.json CHANGED
@@ -4,6 +4,7 @@
4
4
  "publishConfig": {
5
5
  "access": "public"
6
6
  },
7
+ "version": "24.0.0",
7
8
  "skill": {
8
9
  "namespace": "spruce-cli",
9
10
  "upgradeIgnoreList": [
@@ -17,7 +18,6 @@
17
18
  ]
18
19
  },
19
20
  "license": "MIT",
20
- "version": "23.0.0",
21
21
  "bin": {
22
22
  "spruce": "./build/index.js"
23
23
  },
@@ -73,18 +73,18 @@
73
73
  },
74
74
  "dependencies": {
75
75
  "@jest/reporters": "^29.7.0",
76
- "@sprucelabs/error": "^6.0.556",
76
+ "@sprucelabs/error": "^6.0.566",
77
77
  "@sprucelabs/globby": "^2.0.501",
78
- "@sprucelabs/heartwood-view-controllers": "^113.0.1",
79
- "@sprucelabs/jest-json-reporter": "^8.0.558",
80
- "@sprucelabs/mercury-client": "^42.0.658",
81
- "@sprucelabs/mercury-event-emitter": "^42.0.658",
82
- "@sprucelabs/mercury-types": "^47.0.640",
83
- "@sprucelabs/schema": "^31.0.3",
84
- "@sprucelabs/spruce-core-schemas": "^40.1.585",
85
- "@sprucelabs/spruce-event-utils": "^40.1.369",
86
- "@sprucelabs/spruce-skill-utils": "^31.1.8",
87
- "@sprucelabs/spruce-templates": "^23.0.0",
78
+ "@sprucelabs/heartwood-view-controllers": "^116.0.15",
79
+ "@sprucelabs/jest-json-reporter": "^8.0.567",
80
+ "@sprucelabs/mercury-client": "^42.0.689",
81
+ "@sprucelabs/mercury-event-emitter": "^42.0.689",
82
+ "@sprucelabs/mercury-types": "^47.2.0",
83
+ "@sprucelabs/schema": "^31.0.19",
84
+ "@sprucelabs/spruce-core-schemas": "^40.1.605",
85
+ "@sprucelabs/spruce-event-utils": "^40.1.394",
86
+ "@sprucelabs/spruce-skill-utils": "^31.2.16",
87
+ "@sprucelabs/spruce-templates": "^24.0.0",
88
88
  "@typescript-eslint/eslint-plugin": "^7.7.1",
89
89
  "@typescript-eslint/parser": "^7.7.1",
90
90
  "cfonts": "^3.3.0",
@@ -93,7 +93,7 @@
93
93
  "cli-table3": "^0.6.5",
94
94
  "commander": "7.2.0",
95
95
  "emphasize": "4.2.0",
96
- "fs-extra": "^11.2.0",
96
+ "fs-extra": "^11.3.0",
97
97
  "inquirer": "^8.2.4",
98
98
  "inquirer-file-tree-selection-prompt": "1.0.18",
99
99
  "js-tetris-cli": "^0.0.3",
@@ -106,42 +106,41 @@
106
106
  "terminal-kit": "sprucelabsai/terminal-kit",
107
107
  "tree-kill": "^1.2.2",
108
108
  "tsutils": "^3.21.0",
109
- "typescript": "^5.7.2",
110
- "uuid": "^11.0.3"
109
+ "typescript": "^5.7.3",
110
+ "uuid": "^11.0.5"
111
111
  },
112
112
  "devDependencies": {
113
- "@sprucelabs/data-stores": "^28.3.281",
114
- "@sprucelabs/jest-sheets-reporter": "^3.0.197",
115
- "@sprucelabs/mercury-core-events": "^25.0.104",
116
- "@sprucelabs/resolve-path-aliases": "^2.0.523",
117
- "@sprucelabs/spruce-conversation-plugin": "^62.6.12",
118
- "@sprucelabs/spruce-deploy-plugin": "^62.6.12",
119
- "@sprucelabs/spruce-store-plugin": "^62.6.12",
120
- "@sprucelabs/spruce-test-fixtures": "^62.6.12",
121
- "@sprucelabs/test": "^9.0.64",
122
- "@sprucelabs/test-utils": "^5.1.529",
113
+ "@sprucelabs/data-stores": "^28.5.24",
114
+ "@sprucelabs/mercury-core-events": "^25.1.0",
115
+ "@sprucelabs/resolve-path-aliases": "^2.0.527",
116
+ "@sprucelabs/spruce-conversation-plugin": "^65.0.9",
117
+ "@sprucelabs/spruce-deploy-plugin": "^65.0.9",
118
+ "@sprucelabs/spruce-store-plugin": "^65.0.9",
119
+ "@sprucelabs/spruce-test-fixtures": "^65.0.9",
120
+ "@sprucelabs/test": "^9.0.67",
121
+ "@sprucelabs/test-utils": "^5.1.546",
123
122
  "@types/blessed": "^0.1.25",
124
123
  "@types/eslint": "^9.6.1",
125
124
  "@types/fs-extra": "^11.0.4",
126
125
  "@types/inquirer": "^9.0.7",
127
- "@types/lodash": "^4.17.13",
126
+ "@types/lodash": "^4.17.14",
128
127
  "@types/md5": "^2.3.5",
129
- "@types/node": "^22.10.2",
128
+ "@types/node": "^22.10.7",
130
129
  "@types/promise.allsettled": "^1.0.6",
131
130
  "@types/ps-node": "^0.1.3",
132
131
  "@types/semver": "^7.5.8",
133
132
  "@types/sha1": "^1.1.5",
134
133
  "@types/slug": "^5.0.9",
135
134
  "@types/superagent": "^8.1.9",
136
- "@types/terminal-kit": "^2.5.6",
135
+ "@types/terminal-kit": "^2.5.7",
137
136
  "@types/uuid": "^10.0.0",
138
137
  "chokidar-cli": "^3.0.0",
139
- "concurrently": "^9.1.0",
138
+ "concurrently": "^9.1.2",
140
139
  "conventional-changelog-sprucelabs": "2.0.1",
141
140
  "dotenv": "^16.4.7",
142
- "eslint": "^9.17.0",
141
+ "eslint": "^9.18.0",
143
142
  "eslint-config-spruce": "^11.2.26",
144
- "find-process": "^1.4.7",
143
+ "find-process": "^1.4.10",
145
144
  "jest": "^29.7.0",
146
145
  "jest-circus": "^29.7.0",
147
146
  "jest-junit": "^16.0.0",
@@ -555,23 +554,7 @@
555
554
  "moduleNameMapper": {
556
555
  "^#spruce/schemas/fields/(.*)": "<rootDir>/node_modules/@sprucelabs/schema/build/.spruce/schemas/fields/$1",
557
556
  "^#spruce/(.*)$": "<rootDir>/build/.spruce/$1"
558
- },
559
- "reporters": [
560
- "default",
561
- [
562
- "@sprucelabs/jest-sheets-reporter",
563
- {
564
- "sheetId": "1DoWM7mYgGDa-PJXptLomrZmbIBZiuxS1YiAsRXU2Gm0",
565
- "worksheetId": 889384139,
566
- "testMap": {
567
- "generatesExpectedPermissionContract": "P11",
568
- "syncsNewPermissionsWhenMade": "P13",
569
- "combinedFileImportsAllPermissions": "P14"
570
- }
571
- }
572
- ],
573
- "jest-junit"
574
- ]
557
+ }
575
558
  },
576
559
  "jest-junit": {
577
560
  "addFileAttribute": "true"
@@ -588,5 +571,5 @@
588
571
  "open"
589
572
  ]
590
573
  },
591
- "gitHead": "94ce410c05180cdfa9b6ca4b9e47061d52ac4e71"
574
+ "gitHead": "4ae8247c0a6aeb36bc8d249c50303e01decb96c2"
592
575
  }
@@ -5,6 +5,7 @@ import { errorAssert } from '@sprucelabs/test-utils'
5
5
  import AbstractCliTest from '../../tests/AbstractCliTest'
6
6
  import testUtil from '../../tests/utilities/test.utility'
7
7
  import { ApiClient } from '../../types/apiClient.types'
8
+ import { RegisteredSkill } from '../../types/cli.types'
8
9
 
9
10
  export default class DeployingToSandboxTest extends AbstractCliTest {
10
11
  private static sandboxDemoNumber = process.env.SANDBOX_DEMO_NUMBER as string
@@ -56,7 +57,7 @@ export default class DeployingToSandboxTest extends AbstractCliTest {
56
57
  name: 'My new skill',
57
58
  })
58
59
 
59
- await this.resetCurrentSkill()
60
+ await this.unregisterCurrentSkill()
60
61
 
61
62
  const env = this.Service('env')
62
63
 
@@ -64,14 +65,12 @@ export default class DeployingToSandboxTest extends AbstractCliTest {
64
65
  env.unset('SKILL_NAME')
65
66
  env.unset('SKILL_SLUG')
66
67
 
67
- const results = await this.Action('skill', 'boot').execute({
68
- local: true,
69
- })
68
+ const results = await this.boot()
70
69
 
71
70
  assert.isTruthy(results.errors)
72
71
 
73
72
  errorAssert.assertError(results.errors[0], 'MISSING_PARAMETERS', {
74
- parameters: ['env.SKILL_NAME', 'env.SKILL_SLUG'],
73
+ parameters: ['env.SKILL_NAME'],
75
74
  })
76
75
  }
77
76
 
@@ -81,12 +80,12 @@ export default class DeployingToSandboxTest extends AbstractCliTest {
81
80
 
82
81
  const expected = await this.getTotalSkills(client)
83
82
 
84
- const boot = await this.Action('skill', 'boot').execute({ local: true })
85
-
86
- boot.meta?.kill()
83
+ await assert.doesThrowAsync(
84
+ () => this.bootAndKill(),
85
+ "don't have access"
86
+ )
87
87
 
88
88
  const actual = await this.getTotalSkills(client)
89
-
90
89
  assert.isEqual(expected, actual)
91
90
  }
92
91
 
@@ -98,9 +97,7 @@ export default class DeployingToSandboxTest extends AbstractCliTest {
98
97
  name: 'My new skill',
99
98
  })
100
99
 
101
- const boot = await this.Action('skill', 'boot').execute({ local: true })
102
-
103
- boot.meta?.kill()
100
+ await this.bootAndKill()
104
101
 
105
102
  const skills = await this.fetchSkills(client)
106
103
 
@@ -113,20 +110,13 @@ export default class DeployingToSandboxTest extends AbstractCliTest {
113
110
  protected static async registersSkillAgain() {
114
111
  const { client } = await this.installAndSetupForSandbox()
115
112
 
116
- const skill = await this.getSkillFixture().registerCurrentSkill({
117
- name: 'My new skill',
118
- })
113
+ const skill = await this.registerCurrentSkill('My new skill')
119
114
 
120
- await this.resetCurrentSkill()
121
-
122
- const env = this.Service('env')
123
- env.set('SKILL_ID', skill.id)
124
- env.set('SKILL_NAME', skill.name)
125
- env.set('SKILL_SLUG', skill.slug)
115
+ await this.unregisterCurrentSkill()
126
116
 
127
- const boot = await this.Action('skill', 'boot').execute({ local: true })
117
+ this.updateEnv(skill)
128
118
 
129
- boot.meta?.kill()
119
+ await this.bootAndKill()
130
120
 
131
121
  const skills = await this.fetchSkills(client)
132
122
 
@@ -139,44 +129,81 @@ export default class DeployingToSandboxTest extends AbstractCliTest {
139
129
  @test()
140
130
  protected static async registersSkillAndCanBootAgain() {
141
131
  await this.installAndSetupForSandbox()
132
+ const skill = await this.registerCurrentSkill('My new skill')
133
+ await this.unregisterCurrentSkill()
142
134
 
143
- await this.getSkillFixture().registerCurrentSkill({
144
- name: 'My new skill',
145
- })
135
+ this.updateEnv(skill)
146
136
 
147
- await this.resetCurrentSkill()
148
-
149
- const boot = await this.Action('skill', 'boot').execute({ local: true })
150
-
151
- boot.meta?.kill()
152
-
153
- const boot2 = await this.Action('skill', 'boot').execute({
154
- local: true,
155
- })
156
-
157
- boot2.meta?.kill()
137
+ await this.bootAndKill()
138
+ await this.bootAndKill()
158
139
  }
159
140
 
160
141
  @test()
161
142
  protected static async canReRegisterAndThenRegisterConversationsWithoutCrash() {
162
143
  await this.installAndSetupForSandbox('conversation-with-sandbox')
163
144
 
164
- await this.getSkillFixture().registerCurrentSkill({
165
- name: 'Conversation test',
166
- })
167
-
168
- await this.resetCurrentSkill()
145
+ const skill = await this.registerCurrentSkill('Conversation test')
146
+ await this.unregisterCurrentSkill()
147
+ this.updateEnv(skill)
169
148
 
170
149
  await this.Action('conversation', 'create').execute({
171
150
  nameReadable: 'book an appointment',
172
151
  nameCamel: 'bookAnAppointment',
173
152
  })
174
153
 
175
- const boot = await this.Action('skill', 'boot').execute({ local: true })
154
+ await this.bootAndKill()
155
+ }
156
+
157
+ @test()
158
+ protected static async logsInSkillIfAlreadyRegisteredButMissingEnv() {
159
+ await this.installAndSetupForSandbox()
160
+
161
+ await this.registerCurrentSkill('Login if already registered')
162
+
163
+ const env = this.Service('env')
164
+
165
+ const originalSkillId = env.get('SKILL_ID')
166
+ const orginalSkillApiKey = env.get('SKILL_API_KEY')
167
+
168
+ env.set('SKILL_ID', 'this is garbage')
169
+
170
+ await this.bootAndKill()
171
+
172
+ delete process.env.SKILL_ID
173
+ delete process.env.SKILL_API_KEY
174
+
175
+ const skillId = env.get('SKILL_ID')
176
+ const apiKey = env.get('SKILL_API_KEY')
177
+
178
+ assert.isEqual(
179
+ skillId,
180
+ originalSkillId,
181
+ 'It logged in as the wrong skill!'
182
+ )
183
+
184
+ assert.isEqual(
185
+ apiKey,
186
+ orginalSkillApiKey,
187
+ 'It logged in with the wrong api key!'
188
+ )
189
+ }
176
190
 
191
+ private static updateEnv(skill: RegisteredSkill) {
192
+ const env = this.Service('env')
193
+ env.set('SKILL_ID', skill.id)
194
+ env.set('SKILL_NAME', skill.name)
195
+ }
196
+
197
+ private static async bootAndKill() {
198
+ const boot = await this.boot()
199
+ assert.isFalsy(boot.errors)
177
200
  boot.meta?.kill()
178
201
  }
179
202
 
203
+ private static async boot() {
204
+ return await this.Action('skill', 'boot').execute({ local: true })
205
+ }
206
+
180
207
  private static async installAndSetupForSandbox(cacheKey = 'sandbox') {
181
208
  const client = await this.getMercuryFixture().connectToApi()
182
209
 
@@ -202,7 +229,13 @@ export default class DeployingToSandboxTest extends AbstractCliTest {
202
229
  return skills
203
230
  }
204
231
 
205
- private static async resetCurrentSkill() {
232
+ private static async registerCurrentSkill(name: string) {
233
+ return await this.getSkillFixture().registerCurrentSkill({
234
+ name,
235
+ })
236
+ }
237
+
238
+ private static async unregisterCurrentSkill() {
206
239
  const isInstalled =
207
240
  this.Service('settings').isMarkedAsInstalled('skill')
208
241
  if (!isInstalled) {
@@ -14,7 +14,7 @@ import {
14
14
  namesUtil,
15
15
  versionUtil,
16
16
  } from '@sprucelabs/spruce-skill-utils'
17
- import { test, assert } from '@sprucelabs/test-utils'
17
+ import { test, assert, generateId } from '@sprucelabs/test-utils'
18
18
  import { generateEventContractFileName } from '../../../features/event/writers/EventWriter'
19
19
  import { FeatureActionResponse } from '../../../features/features.types'
20
20
  import LintService from '../../../services/LintService'
@@ -94,9 +94,14 @@ export default class KeepingEventsInSyncTest extends AbstractEventTest {
94
94
  const eventName = `my-new-event::${this.todaysVersion.constValue}`
95
95
  const fqen = `${skill2.slug}.my-new-event::${this.todaysVersion.constValue}`
96
96
 
97
+ const description = generateId() + '"' + '"'
98
+ const aiInstructions = generateId() + '"' + '"'
99
+
97
100
  await skillFixture.registerEventContract(skill2, {
98
101
  eventSignatures: {
99
102
  [eventName]: {
103
+ description,
104
+ aiInstructions,
100
105
  emitPayloadSchema: buildEmitTargetAndPayloadSchema({
101
106
  eventName: 'my-new-event',
102
107
  targetSchema: eventTargetSchema,
@@ -193,6 +198,13 @@ export default class KeepingEventsInSyncTest extends AbstractEventTest {
193
198
  sig.listenPermissionContract.permissions[0].id,
194
199
  'can-listen'
195
200
  )
201
+
202
+ assert.isEqual(sig.description, description, 'description missing')
203
+ assert.isEqual(
204
+ sig.aiInstructions,
205
+ aiInstructions,
206
+ 'aiInstructions missing'
207
+ )
196
208
  }
197
209
 
198
210
  @test()
@@ -25,12 +25,13 @@ export default class CreatingSchemasWithGenericsTest extends AbstractSchemaTest
25
25
  )
26
26
 
27
27
  const contents = diskUtil.readFile(match)
28
+
28
29
  assert.doesInclude(contents, '<Type extends string = string>')
29
30
  assert.doesInclude(contents, '<Type2 extends string = string>')
30
31
  assert.doesInclude(contents, '<Type>')
31
32
  assert.doesInclude(
32
33
  contents,
33
- "typedByGeneric'?: (Type2)| undefined | null"
34
+ "'typedByGeneric'?: (Type2) | undefined | null"
34
35
  )
35
36
 
36
37
  await this.assertValidActionResponseFiles(results)
@@ -11,6 +11,9 @@ export default class TerminalInterfaceTest extends AbstractSpruceTest {
11
11
 
12
12
  protected static async beforeEach() {
13
13
  await super.beforeEach()
14
+
15
+ process.env.IS_TESTING_SELF = 'true'
16
+
14
17
  this.wasOraHit = false
15
18
  //@ts-ignore
16
19
  TerminalInterface.ora = () => {
@@ -24,6 +27,11 @@ export default class TerminalInterfaceTest extends AbstractSpruceTest {
24
27
  this.ui = new TerminalInterface(this.cwd)
25
28
  }
26
29
 
30
+ protected static async afterEach(): Promise<void> {
31
+ await super.afterEach()
32
+ await this.wait(100)
33
+ }
34
+
27
35
  @test()
28
36
  protected static async dontShowProgressIfPrompting() {
29
37
  this.prompt()
@@ -39,6 +47,7 @@ export default class TerminalInterfaceTest extends AbstractSpruceTest {
39
47
 
40
48
  @test()
41
49
  protected static async askingToPromptThrowsIfInCi() {
50
+ delete process.env.IS_TESTING_SELF
42
51
  process.env.CIRCLECI = 'true'
43
52
  const err = await assert.doesThrowAsync(() =>
44
53
  this.ui.prompt({ type: 'text' })
@@ -270,7 +270,7 @@ export default class SpruceError extends AbstractSpruceError<ErrorOptions> {
270
270
  break
271
271
 
272
272
  case 'CANNOT_PROMPT_IN_CI':
273
- message = 'A cannot prompt in ci just happened!'
273
+ message = 'You cannot prompt in CI!'
274
274
  break
275
275
 
276
276
  case 'APP_CONTROLLER_ALREADY_EXISTS':
@@ -50,13 +50,14 @@ export default class LoginAction extends AbstractAction<OptionsSchema> {
50
50
  }
51
51
 
52
52
  const client = await this.connectToApi()
53
- const skillResults = await client.emit('list-skills::v2020_12_25', {
54
- payload: {
55
- shouldOnlyShowMine: true,
56
- },
57
- })
58
-
59
- let { skills } = eventResponseUtil.getFirstResponseOrThrow(skillResults)
53
+ let [{ skills }] = await client.emitAndFlattenResponses(
54
+ 'list-skills::v2020_12_25',
55
+ {
56
+ payload: {
57
+ shouldOnlyShowMine: true,
58
+ },
59
+ }
60
+ )
60
61
 
61
62
  if (skillSlug) {
62
63
  const match = skills.find((s) => s.slug === skillSlug)
@@ -1,7 +1,7 @@
1
1
  export default function isCi() {
2
2
  const env = process.env
3
3
 
4
- if (process.env.IS_TESTING_SELF) {
4
+ if (process.env.IS_TESTING_SELF === 'true') {
5
5
  return false
6
6
  }
7
7
 
package/.DS_Store DELETED
Binary file
package/.env DELETED
@@ -1,25 +0,0 @@
1
- GOOGLE_SERVICE_EMAIL="sprucebot@sprucebot.iam.gserviceaccount.com"
2
- GOOGLE_SERVICE_EMAIL_TEST="sprucebot@sprucebot.iam.gserviceaccount.com"
3
- SHEETS_REPORTER_ADAPTER="DummyAdapter"
4
- SHEETS_REPORTER_ADAPTER_TEST="DummyAdapter"
5
- GOOGLE_SERVICE_PRIVATE_KEY="some bullshit"
6
- CLI_RENDER_STACK_TRACES="true"
7
- WILL_BUILD_CACHE_SCRIPT="diskutil erasevolume HFS+ "RAMDisk" `hdiutil attach -nomount ram://51457280`"
8
- CLEAN_CACHE_SCRIPT="/sbin/umount -f /Volumes/RAMDisk"
9
- TEST_CACHE_ROOT_DIR="/Volumes/RAMDisk"
10
- DEMO_NUMBER="555-004-0001"
11
- DEMO_NUMBER_LOGIN_AS_SKILL="555-004-0101"
12
- DEMO_NUMBER_INSTALL_SKILL="555-004-0201"
13
- DEMO_NUMBER_GLOBAL_EVENTS="555-004-0301"
14
- DEMO_NUMBER_EVENTS_ON_BOOT="555-004-0401"
15
- DEMO_NUMBER_VIEWS_ON_BOOT="555-004-0501"
16
- DEMO_NUMBER_CREATING_AN_EVENT="555-004-0601"
17
- DEMO_NUMBER_EVENT_STORE="555-004-0601"
18
- SANDBOX_DEMO_NUMBER="555-004-0002"
19
- TEST_HOST="http://127.0.0.1:8081"
20
- # HOST="http://127.0.0.1:8081"
21
- SHOULD_RENDER_TEST_LOGS="false"
22
- MAX_SIMULTANEOUS_SKILL_CACHERS=5
23
-
24
- CLEANUP_TEST_SKILL_DIRS="true"
25
- TEST_SKILLS_TO_CACHE="*"
package/.env-dev DELETED
@@ -1,24 +0,0 @@
1
- GOOGLE_SERVICE_EMAIL="sprucebot@sprucebot.iam.gserviceaccount.com"
2
- GOOGLE_SERVICE_EMAIL_TEST="sprucebot@sprucebot.iam.gserviceaccount.com"
3
- SHEETS_REPORTER_ADAPTER="MockAdapter"
4
- SHEETS_REPORTER_ADAPTER_TEST="MockAdapter"
5
- GOOGLE_SERVICE_PRIVATE_KEY="some bullshit"
6
- CLI_RENDER_STACK_TRACES="true"
7
- WILL_BUILD_CACHE_SCRIPT="diskutil erasevolume HFS+ "RAMDisk" `hdiutil attach -nomount ram://51457280`"
8
- CLEAN_CACHE_SCRIPT="/sbin/umount -f /Volumes/RAMDisk"
9
- TEST_CACHE_ROOT_DIR="/Volumes/RAMDisk"
10
- DEMO_NUMBER="555-004-0001"
11
- DEMO_NUMBER_LOGIN_AS_SKILL="555-004-0101"
12
- DEMO_NUMBER_INSTALL_SKILL="555-004-0201"
13
- DEMO_NUMBER_GLOBAL_EVENTS="555-004-0301"
14
- DEMO_NUMBER_EVENTS_ON_BOOT="555-004-0401"
15
- DEMO_NUMBER_VIEWS_ON_BOOT="555-004-0501"
16
- DEMO_NUMBER_CREATING_AN_EVENT="555-004-0601"
17
- SANDBOX_DEMO_NUMBER="555-004-0002"
18
- TEST_HOST="https://developer.mercury.spruce.ai"
19
- HOST="https://developer.mercury.spruce.ai"
20
- SHOULD_RENDER_TEST_LOGS="true"
21
- MAX_SIMULTANEOUS_SKILL_CACHERS=5
22
-
23
- CLEANUP_TEST_SKILL_DIRS="false"
24
- TEST_SKILLS_TO_CACHE="views"