@remembrance-ai/opencode-plugin 0.1.45 → 0.1.47

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/opencode.json CHANGED
@@ -6,7 +6,7 @@
6
6
  "command": [
7
7
  "npx",
8
8
  "-y",
9
- "@remembrance-ai/mcp-server@0.1.45"
9
+ "@remembrance-ai/mcp-server@0.1.47"
10
10
  ],
11
11
  "enabled": true,
12
12
  "environment": {
@@ -15,6 +15,6 @@
15
15
  }
16
16
  },
17
17
  "plugin": [
18
- "@remembrance-ai/opencode-plugin@0.1.45"
18
+ "@remembrance-ai/opencode-plugin@0.1.47"
19
19
  ]
20
20
  }
package/package.json CHANGED
@@ -1,12 +1,13 @@
1
1
  {
2
2
  "name": "@remembrance-ai/opencode-plugin",
3
- "version": "0.1.45",
3
+ "version": "0.1.47",
4
4
  "license": "Apache-2.0",
5
5
  "description": "opencode plugin for Remembrance session hooks, tool observation, and contribution nudges.",
6
6
  "type": "module",
7
7
  "main": "src/index.mjs",
8
8
  "exports": {
9
- ".": "./src/index.mjs"
9
+ ".": "./src/index.mjs",
10
+ "./server": "./src/index.mjs"
10
11
  },
11
12
  "bin": {
12
13
  "remembrance-opencode-setup": "bin/setup.mjs"
@@ -8569,7 +8569,7 @@ var bootstrapAgentIdentitySchema = external_exports.object({
8569
8569
  });
8570
8570
  var feedbackToolSchema = agentFeedbackRequestBaseSchema.extend({
8571
8571
  verified_attestation: external_exports.boolean().default(false).describe(
8572
- "When true, sign the feedback with the local TOFU key if present."
8572
+ "When true, sign the feedback with the local TOFU key. Run bootstrap_agent_identity once before using this option."
8573
8573
  )
8574
8574
  }).superRefine((value, ctx) => {
8575
8575
  if (Boolean(value.query_id) !== Boolean(value.result_id)) {
@@ -8582,7 +8582,7 @@ var feedbackToolSchema = agentFeedbackRequestBaseSchema.extend({
8582
8582
  });
8583
8583
  var remembranceToolSchema = remembrancePayloadSchema.extend({
8584
8584
  verified_attestation: external_exports.boolean().default(false).describe(
8585
- "When true, sign the remembrance with the local TOFU key if present. Requires skill.slug."
8585
+ "When true, sign the remembrance with the local TOFU key. Run bootstrap_agent_identity once before using this option; skill.slug is also required."
8586
8586
  )
8587
8587
  });
8588
8588
  var toolDefinitions = [
@@ -9180,7 +9180,7 @@ function isRecord(value) {
9180
9180
  // src/server.ts
9181
9181
  var apiConfiguration = resolveApiConfiguration();
9182
9182
  var apiBase = apiConfiguration.baseUrl;
9183
- var SERVER_VERSION = true ? "0.1.45" : "0.0.0-dev";
9183
+ var SERVER_VERSION = true ? "0.1.47" : "0.0.0-dev";
9184
9184
  var tools = toolDefinitions;
9185
9185
  var inputBuffer = Buffer.alloc(0);
9186
9186
  var clientFraming = "ndjson";
@@ -9520,7 +9520,7 @@ async function submitRemembrance(payload) {
9520
9520
  }
9521
9521
  const skillSlug = request.skill?.slug;
9522
9522
  if (!skillSlug) {
9523
- throw new Error("verified_attestation requires skill.slug.");
9523
+ throw new McpPublicError("verified_attestation requires skill.slug.");
9524
9524
  }
9525
9525
  const evidence = {
9526
9526
  trace_hash: request.evidence.trace_hash ?? null,
@@ -9549,7 +9549,7 @@ async function submitFeedback(payload) {
9549
9549
  }
9550
9550
  const identity = await readIdentity();
9551
9551
  if (!identity) {
9552
- throw new Error(
9552
+ throw new McpPublicError(
9553
9553
  "No local Remembrance agent identity found. Run bootstrap_agent_identity first."
9554
9554
  );
9555
9555
  }
@@ -9599,7 +9599,7 @@ async function submitFeedback(payload) {
9599
9599
  async function signedRemembranceAttestation(remembrancePayload, skillSlug) {
9600
9600
  const identity = await readIdentity();
9601
9601
  if (!identity) {
9602
- throw new Error(
9602
+ throw new McpPublicError(
9603
9603
  "No local Remembrance agent identity found. Run bootstrap_agent_identity first."
9604
9604
  );
9605
9605
  }
@@ -9645,7 +9645,9 @@ async function bootstrapAgentIdentity(args) {
9645
9645
  const reusedExistingIdentity = !args.force_rotate && existsSync2(keyPath);
9646
9646
  const identity = reusedExistingIdentity ? await readIdentity(keyPath) : await createAndPersistIdentity(args, keyPath);
9647
9647
  if (!identity) {
9648
- throw new Error("Unable to create or read Remembrance agent identity.");
9648
+ throw new McpPublicError(
9649
+ "Unable to create or read the local Remembrance agent identity. Check the configured key path and file permissions, then retry bootstrap_agent_identity."
9650
+ );
9649
9651
  }
9650
9652
  const mismatchedFields = [];
9651
9653
  if (reusedExistingIdentity) {
package/src/index.mjs CHANGED
@@ -1,7 +1,8 @@
1
1
  // Remembrance opencode plugin entrypoint.
2
2
  //
3
- // opencode plugins are IN-PROCESS JS/TS modules, not stdin/stdout scripts: the
4
- // module exports a plugin function that receives
3
+ // opencode plugins are IN-PROCESS JS/TS modules, not stdin/stdout scripts. The
4
+ // default export is the current versioned plugin-module object; its `server`
5
+ // function receives
5
6
  // `{ project, client, $, directory, worktree }` and returns an object whose
6
7
  // `event` callback receives the host's discriminated lifecycle-event union.
7
8
  // Specialized mutable hooks such as tool.execute.after remain direct keys.
@@ -548,4 +549,7 @@ function toolArgumentsFromEvent(input) {
548
549
  return value && typeof value === "object" ? value : {};
549
550
  }
550
551
 
551
- export default Remembrance;
552
+ export default Object.freeze({
553
+ id: "@remembrance-ai/opencode-plugin",
554
+ server: Remembrance,
555
+ });