akm-opencode 0.9.2202608290901 → 0.9.6202608312025
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/index.ts +4 -3
- package/package.json +2 -2
- package/shared/akm-version.ts +8 -7
- package/shared/recall-policy.ts +1 -1
package/README.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# akm-opencode
|
|
2
2
|
|
|
3
|
-
OpenCode plugin for [AKM](https://github.com/itlackey/akm) `^0.9.
|
|
3
|
+
OpenCode plugin for [AKM](https://github.com/itlackey/akm) `^0.9.6`. It exposes exactly five public tools and uses lifecycle hooks to bring relevant AKM context into a session.
|
|
4
4
|
|
|
5
5
|
## Installation
|
|
6
6
|
|
package/index.ts
CHANGED
|
@@ -48,7 +48,7 @@ const AKM_REQUIRED_VERSION_RANGE = AKM_VERSION_RANGE
|
|
|
48
48
|
// The consent banner's package specification is kept explicit so it remains a
|
|
49
49
|
// valid npm install target even if the shared compatibility range later grows
|
|
50
50
|
// extra clauses. Keep it in sync with the minimum supported stable release.
|
|
51
|
-
const AKM_RECOMMENDED_INSTALL_REF = "akm-cli@^0.9.
|
|
51
|
+
const AKM_RECOMMENDED_INSTALL_REF = "akm-cli@^0.9.6"
|
|
52
52
|
|
|
53
53
|
const AKM_AUTO_FEEDBACK = (process.env.AKM_AUTO_FEEDBACK ?? "1") !== "0"
|
|
54
54
|
const AKM_AUTO_CURATE = (process.env.AKM_AUTO_CURATE ?? "1") !== "0"
|
|
@@ -194,7 +194,7 @@ const akmVersionProbeCache = new Map<string, string | null>()
|
|
|
194
194
|
// whitespace-token extractor and is the single source of truth here.
|
|
195
195
|
const PROPOSED_QUALITY_WARNING = "Do not treat proposed assets as curated until accepted."
|
|
196
196
|
const AKM_WORKFLOW_INSTRUCTION = [
|
|
197
|
-
"# AKM workflow (v0.9.
|
|
197
|
+
"# AKM workflow (v0.9.6)",
|
|
198
198
|
"",
|
|
199
199
|
"Use AKM as a reusable knowledge and workflow bundle.",
|
|
200
200
|
"",
|
|
@@ -820,7 +820,7 @@ async function getPendingProposalCount(client: LogCapableClient, sessionID?: str
|
|
|
820
820
|
const command = resolveAkmCommand()
|
|
821
821
|
if (typeof command === "object" && "ok" in command) return { count: 0, unsupported: true }
|
|
822
822
|
try {
|
|
823
|
-
// AKM 0.9.
|
|
823
|
+
// AKM 0.9.6 canonical proposal-queue listing path: `akm proposal list`.
|
|
824
824
|
const stdout = execResolvedAkm(command, ["proposal", "list", "--status", "pending", "--format", "json"], {
|
|
825
825
|
encoding: "utf8",
|
|
826
826
|
timeout: AKM_PENDING_PROPOSAL_TIMEOUT_MS,
|
|
@@ -2749,6 +2749,7 @@ type SearchHit = {
|
|
|
2749
2749
|
description?: string
|
|
2750
2750
|
score?: number
|
|
2751
2751
|
whyMatched?: string[]
|
|
2752
|
+
matchStage?: "exact" | "prefix" | "relaxed"
|
|
2752
2753
|
run?: string
|
|
2753
2754
|
origin?: string | null
|
|
2754
2755
|
size?: string
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "akm-opencode",
|
|
3
|
-
"version": "0.9.
|
|
3
|
+
"version": "0.9.6202608312025",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"description": "OpenCode plugin for AKM 0.9 with in-process search, show, and curate tools plus feedback and remember.",
|
|
6
6
|
"keywords": [
|
|
@@ -39,7 +39,7 @@
|
|
|
39
39
|
},
|
|
40
40
|
"dependencies": {
|
|
41
41
|
"@opencode-ai/plugin": "^1.18.14",
|
|
42
|
-
"akm-cli": "^0.9.
|
|
42
|
+
"akm-cli": "^0.9.6"
|
|
43
43
|
},
|
|
44
44
|
"devDependencies": {
|
|
45
45
|
"@types/node": "^26.1.1",
|
package/shared/akm-version.ts
CHANGED
|
@@ -13,16 +13,17 @@
|
|
|
13
13
|
// same code path runs on both sides.
|
|
14
14
|
//
|
|
15
15
|
// A single caret clause anchored at the stable release covers the whole
|
|
16
|
-
// supported line: `^0.9.
|
|
17
|
-
// 0.9.
|
|
18
|
-
// task/workflow wire contracts are the ones
|
|
16
|
+
// supported line: `^0.9.6` admits stable 0.9.6 and later 0.9.x releases.
|
|
17
|
+
// 0.9.6 is the compatibility floor: its ref grammar, progressive-search
|
|
18
|
+
// metadata, workflow lifecycle, and task/workflow wire contracts are the ones
|
|
19
|
+
// these plugins implement.
|
|
19
20
|
//
|
|
20
|
-
// KNOWN GAP: NO prerelease satisfies this range — not 0.9.
|
|
21
|
-
// *future* line such as 0.9.
|
|
21
|
+
// KNOWN GAP: NO prerelease satisfies this range — not 0.9.6-rc.1, and not a
|
|
22
|
+
// *future* line such as 0.9.7-rc.1. That is node-semver's documented behavior
|
|
22
23
|
// and the vendored matcher reproduces it: a prerelease only satisfies a range
|
|
23
24
|
// whose lower bound is a prerelease with the same major.minor.patch. Admitting
|
|
24
25
|
// a prerelease line again is an explicit one-clause edit here
|
|
25
|
-
// (`^0.9.
|
|
26
|
+
// (`^0.9.6 || ^0.9.7-rc.1`) when such a build actually needs testing — a
|
|
26
27
|
// deliberate opt-in rather than a range that silently accepts untested
|
|
27
28
|
// prereleases.
|
|
28
29
|
//
|
|
@@ -32,7 +33,7 @@
|
|
|
32
33
|
|
|
33
34
|
import { satisfies } from "./vendor-semver"
|
|
34
35
|
|
|
35
|
-
export const AKM_VERSION_RANGE = "^0.9.
|
|
36
|
+
export const AKM_VERSION_RANGE = "^0.9.6"
|
|
36
37
|
|
|
37
38
|
/**
|
|
38
39
|
* True when `version` is a valid semver string that satisfies
|
package/shared/recall-policy.ts
CHANGED
|
@@ -36,7 +36,7 @@ export function shouldRecall(prompt: string, options?: { activeWorkflow?: boolea
|
|
|
36
36
|
return { shouldRecall: false, reason: "skip-chitchat", query: text, scopeHints }
|
|
37
37
|
}
|
|
38
38
|
// Reuse the resolver-facing parser rather than carrying a second, stale
|
|
39
|
-
// grammar here. AKM 0.9.
|
|
39
|
+
// grammar here. AKM 0.9.6 refs are [bundle//]conceptId[#fragment]; retired
|
|
40
40
|
// type:name strings must not turn an otherwise low-signal prompt into an
|
|
41
41
|
// explicit AKM recall.
|
|
42
42
|
if (/\bakm\b|\bbundle\b/.test(lower) || extractAkmRefsFromString(text).length > 0) {
|