backeer-opencode 0.1.5 → 0.2.1

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/src/plugin.js CHANGED
@@ -10,6 +10,7 @@ import {
10
10
  createBackeerCommandHandler,
11
11
  registerBackeerCommand,
12
12
  } from "./management.js"
13
+ import { createLifecycleController } from "./lifecycle-controller.js"
13
14
  import { createPermissionController } from "./permission-controller.js"
14
15
  import { createConsoleReporter } from "./reporter.js"
15
16
  import {
@@ -21,7 +22,8 @@ import { rememberBounded } from "./utilities.js"
21
22
  /**
22
23
  * OpenCode server plugin entrypoint.
23
24
  *
24
- * Supported options: origin, tokenFile, permissions, questions, todos, logLevel.
25
+ * Supported options: origin, tokenFile, permissions, questions, todos,
26
+ * lifecycle, logLevel.
25
27
  * The ingest token is intentionally accepted only through the environment or a
26
28
  * protected file so it cannot accidentally be committed in opencode.json.
27
29
  */
@@ -45,6 +47,12 @@ export default async function BackeerPlugin({ client, directory }, options = {})
45
47
  client,
46
48
  directory,
47
49
  })
50
+ const lifecycleController = createLifecycleController({
51
+ config,
52
+ reporter,
53
+ client,
54
+ directory,
55
+ })
48
56
  const todoCompletionBySessionID = new Map()
49
57
  const publishedQuestions = new Map()
50
58
  const updateChecker = createUpdateChecker()
@@ -135,6 +143,8 @@ export default async function BackeerPlugin({ client, directory }, options = {})
135
143
  event: async ({ event }) => {
136
144
  if (!config.token) return
137
145
 
146
+ lifecycleController.handle(event)
147
+
138
148
  if (config.permissions && event.type === "permission.asked") {
139
149
  await handlePermissionAsked(event)
140
150
  return
@@ -162,6 +172,7 @@ export default async function BackeerPlugin({ client, directory }, options = {})
162
172
 
163
173
  dispose: async () => {
164
174
  await permissionController.dispose()
175
+ lifecycleController.dispose()
165
176
  todoCompletionBySessionID.clear()
166
177
  publishedQuestions.clear()
167
178
  },
package/src/updates.js CHANGED
@@ -1,4 +1,4 @@
1
- export const PLUGIN_VERSION = "0.1.5"
1
+ export const PLUGIN_VERSION = "0.2.1"
2
2
 
3
3
  const PACKAGE_NAME = "backeer-opencode"
4
4
  const NPM_REGISTRY_URL = "https://registry.npmjs.org"