@litfamily/litopencode 1.0.0 → 1.0.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/CHANGELOG.md +6 -0
- package/README-Ko-KR.md +7 -7
- package/README.md +7 -7
- package/dist/tool-kit.d.ts +13 -16
- package/dist/tool-kit.js +8 -39
- package/docs/assets/readme/badge-version.svg +1 -1
- package/package.json +4 -3
- package/tools/version-manifests.json +4 -4
package/CHANGELOG.md
CHANGED
|
@@ -5,6 +5,12 @@ are tracked separately from this product history.
|
|
|
5
5
|
|
|
6
6
|
## Unreleased
|
|
7
7
|
|
|
8
|
+
## 1.0.1
|
|
9
|
+
|
|
10
|
+
- Remove the runtime host-plugin dependency chain from consumer installs. LitOpenCode now ships
|
|
11
|
+
its own `zod@4.1.8` tool schema helper, so Node 22.22.0 installs no longer warn or fail strict
|
|
12
|
+
engine checks on transitive `effect`/`ini` packages while OpenCode tool registration remains intact.
|
|
13
|
+
|
|
8
14
|
## 1.0.0
|
|
9
15
|
|
|
10
16
|
- Prepare `@litfamily/litopencode` for independent OpenCode installation. The executable,
|
package/README-Ko-KR.md
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
<p align="center"><img src="https://cdn.jsdelivr.net/npm/@litfamily/litopencode@1.0.
|
|
1
|
+
<p align="center"><img src="https://cdn.jsdelivr.net/npm/@litfamily/litopencode@1.0.1/docs/assets/cover.webp" width="100%" alt="LitOpenCode v5 armory cover" /></p>
|
|
2
2
|
|
|
3
3
|
# LitOpenCode
|
|
4
4
|
|
|
@@ -6,8 +6,8 @@
|
|
|
6
6
|
|
|
7
7
|
**Keep the work lit.**
|
|
8
8
|
|
|
9
|
-
<p align="center"><img src="https://cdn.jsdelivr.net/npm/@litfamily/litopencode@1.0.
|
|
10
|
-
<p align="center"><img src="https://cdn.jsdelivr.net/npm/@litfamily/litopencode@1.0.
|
|
9
|
+
<p align="center"><img src="https://cdn.jsdelivr.net/npm/@litfamily/litopencode@1.0.1/docs/assets/readme/litopencode-wordmark.svg" width="480" alt="LITOPENCODE 디스플레이 타입" /></p>
|
|
10
|
+
<p align="center"><img src="https://cdn.jsdelivr.net/npm/@litfamily/litopencode@1.0.1/docs/assets/readme/litopencode-clay-icon.png" width="160" alt="LitOpenCode 클레이 마크" /></p>
|
|
11
11
|
|
|
12
12
|
> **불씨를 건네받았다.**<br>
|
|
13
13
|
> **이제, 당신의 작업에 옮길 차례다.**
|
|
@@ -57,7 +57,7 @@ canonical 경로를 사용합니다. 번호가 붙은 license·provenance 파일
|
|
|
57
57
|
|
|
58
58
|
`lit` 또는 `/lit`으로 범위가 정해진 작업을 시작하고, `handoff` 또는 `/lit-handoff`로 확인한 결과와 다음 단계를 건넵니다. `lit-plan`은 계획을 준비하고, `/start-work <승인된 계획>`은 승인한 계획을 실행하며, `/review-work`는 변경과 근거를 검토하고, `/litresearch`는 제공된 출처 기반 조사 경로를 사용합니다. 기대하는 효과는 다음 세션이 이어갈 수 있는 프로젝트별 목표·근거·다음 단계 기록입니다. 호스트 제약도 분명합니다. 모델 실행과 권한 질문은 OpenCode가 담당하고 plugin은 경로와 기록을 제공하므로, 경로를 선택했다는 사실만으로 실행이나 화면 확인을 증명할 수 없습니다.
|
|
59
59
|
|
|
60
|
-
<p align="center"><img src="https://cdn.jsdelivr.net/npm/@litfamily/litopencode@1.0.
|
|
60
|
+
<p align="center"><img src="https://cdn.jsdelivr.net/npm/@litfamily/litopencode@1.0.1/docs/assets/litopencode-ignition-1600.webp" width="48%" alt="LitOpenCode 점화 장치" /><img src="https://cdn.jsdelivr.net/npm/@litfamily/litopencode@1.0.1/docs/assets/litopencode-continuity-1600.webp" width="48%" alt="LitOpenCode 연속 장치" /></p>
|
|
61
61
|
|
|
62
62
|
<p align="center"><a href="docs/assets/readme/ignition-film.mp4"><img src="docs/assets/readme/poster.png" width="720" alt="Ignition 모션 포스터" /></a></p>
|
|
63
63
|
|
|
@@ -91,7 +91,7 @@ route 파일은 `~/.config/opencode/litopencode.json`이며 `XDG_CONFIG_HOME`을
|
|
|
91
91
|
설정 루트가 달라집니다. 기존 custom route는 사용자 소유로 유지됩니다.
|
|
92
92
|
custom root, 모델 선택, 터미널 정책, 무인 설치는 [상세 안내](docs/reference-Ko-KR.md#설치)를 참고하세요.
|
|
93
93
|
|
|
94
|
-
이 checkout의 패키지는 `@litfamily/litopencode@1.0.
|
|
94
|
+
이 checkout의 패키지는 `@litfamily/litopencode@1.0.1`입니다. registry의 `@latest`는 다를 수 있으므로
|
|
95
95
|
정확한 버전이 필요하면 `npm view @litfamily/litopencode version`으로 확인하세요.
|
|
96
96
|
|
|
97
97
|
## 처음 사용하기
|
|
@@ -149,8 +149,8 @@ primitive가 없으므로 이 프로젝트별 로컬 기록으로 작업을 재
|
|
|
149
149
|
</details>
|
|
150
150
|
|
|
151
151
|
<p align="center">
|
|
152
|
-
<a href="#30초-설치"><img src="https://cdn.jsdelivr.net/npm/@litfamily/litopencode@1.0.
|
|
153
|
-
<a href="LICENSE"><img src="https://cdn.jsdelivr.net/npm/@litfamily/litopencode@1.0.
|
|
152
|
+
<a href="#30초-설치"><img src="https://cdn.jsdelivr.net/npm/@litfamily/litopencode@1.0.1/docs/assets/readme/badge-version.svg" alt="1.0.1" /></a>
|
|
153
|
+
<a href="LICENSE"><img src="https://cdn.jsdelivr.net/npm/@litfamily/litopencode@1.0.1/docs/assets/readme/badge-license.svg" alt="MIT 라이선스" /></a>
|
|
154
154
|
</p>
|
|
155
155
|
|
|
156
156
|
<p align="center">
|
package/README.md
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
<p align="center"><img src="https://cdn.jsdelivr.net/npm/@litfamily/litopencode@1.0.
|
|
1
|
+
<p align="center"><img src="https://cdn.jsdelivr.net/npm/@litfamily/litopencode@1.0.1/docs/assets/cover.webp" width="100%" alt="LitOpenCode v5 armory cover" /></p>
|
|
2
2
|
|
|
3
3
|
# LitOpenCode
|
|
4
4
|
|
|
@@ -6,8 +6,8 @@
|
|
|
6
6
|
|
|
7
7
|
**Keep the work lit.**
|
|
8
8
|
|
|
9
|
-
<p align="center"><img src="https://cdn.jsdelivr.net/npm/@litfamily/litopencode@1.0.
|
|
10
|
-
<p align="center"><img src="https://cdn.jsdelivr.net/npm/@litfamily/litopencode@1.0.
|
|
9
|
+
<p align="center"><img src="https://cdn.jsdelivr.net/npm/@litfamily/litopencode@1.0.1/docs/assets/readme/litopencode-wordmark.svg" width="480" alt="LITOPENCODE display type" /></p>
|
|
10
|
+
<p align="center"><img src="https://cdn.jsdelivr.net/npm/@litfamily/litopencode@1.0.1/docs/assets/readme/litopencode-clay-icon.png" width="160" alt="LitOpenCode clay mark" /></p>
|
|
11
11
|
|
|
12
12
|
> **The spark is yours.**<br>
|
|
13
13
|
> **Bring it to your work.**
|
|
@@ -57,7 +57,7 @@ remain source-attribution records.
|
|
|
57
57
|
|
|
58
58
|
Use `lit` or `/lit` to start a bounded task; `handoff` or `/lit-handoff` carries the checked result and next step; `lit-plan` prepares a plan; `/start-work <approved-plan>` executes an approved plan; `/review-work` checks the change and its evidence; and `/litresearch` uses the shipped source-backed research route. The expected effect is a project-local goal, evidence, and next-step record that another session can resume. The host limit is explicit: OpenCode owns model execution and permission prompts, while the plugin supplies routes and records; selecting a route does not prove execution or a visual check.
|
|
59
59
|
|
|
60
|
-
<p align="center"><img src="https://cdn.jsdelivr.net/npm/@litfamily/litopencode@1.0.
|
|
60
|
+
<p align="center"><img src="https://cdn.jsdelivr.net/npm/@litfamily/litopencode@1.0.1/docs/assets/litopencode-ignition-1600.webp" width="48%" alt="LitOpenCode ignition apparatus" /><img src="https://cdn.jsdelivr.net/npm/@litfamily/litopencode@1.0.1/docs/assets/litopencode-continuity-1600.webp" width="48%" alt="LitOpenCode continuity apparatus" /></p>
|
|
61
61
|
|
|
62
62
|
<p align="center"><a href="docs/assets/readme/ignition-film.mp4"><img src="docs/assets/readme/poster.png" width="720" alt="Ignition motion poster" /></a></p>
|
|
63
63
|
|
|
@@ -92,7 +92,7 @@ changes that root. Existing custom routes remain user-owned. See the
|
|
|
92
92
|
[installation and model reference](docs/reference.md#install) for custom roots,
|
|
93
93
|
provider choices, terminal policy, and unattended setup.
|
|
94
94
|
|
|
95
|
-
This checkout is `@litfamily/litopencode@1.0.
|
|
95
|
+
This checkout is `@litfamily/litopencode@1.0.1`. Registry `@latest` can differ; inspect it with
|
|
96
96
|
`npm view @litfamily/litopencode version` when an exact version matters.
|
|
97
97
|
|
|
98
98
|
## First use
|
|
@@ -150,8 +150,8 @@ skills provide guidance when their documented routes select them.
|
|
|
150
150
|
</details>
|
|
151
151
|
|
|
152
152
|
<p align="center">
|
|
153
|
-
<a href="#install-in-30-seconds"><img src="https://cdn.jsdelivr.net/npm/@litfamily/litopencode@1.0.
|
|
154
|
-
<a href="LICENSE"><img src="https://cdn.jsdelivr.net/npm/@litfamily/litopencode@1.0.
|
|
153
|
+
<a href="#install-in-30-seconds"><img src="https://cdn.jsdelivr.net/npm/@litfamily/litopencode@1.0.1/docs/assets/readme/badge-version.svg" alt="1.0.1" /></a>
|
|
154
|
+
<a href="LICENSE"><img src="https://cdn.jsdelivr.net/npm/@litfamily/litopencode@1.0.1/docs/assets/readme/badge-license.svg" alt="MIT license" /></a>
|
|
155
155
|
</p>
|
|
156
156
|
|
|
157
157
|
<p align="center">
|
package/dist/tool-kit.d.ts
CHANGED
|
@@ -1,26 +1,23 @@
|
|
|
1
1
|
import type { ToolContext, ToolResult } from "@opencode-ai/plugin";
|
|
2
|
-
type
|
|
3
|
-
readonly type: "string";
|
|
4
|
-
readonly description?: string;
|
|
5
|
-
describe(description: string): StringSchema;
|
|
6
|
-
optional(): OptionalStringSchema;
|
|
7
|
-
};
|
|
8
|
-
type OptionalStringSchema = {
|
|
9
|
-
readonly type: "optional";
|
|
10
|
-
readonly innerType: StringSchema;
|
|
11
|
-
};
|
|
12
|
-
type ToolFactory = (<Args extends Record<string, unknown>>(input: {
|
|
2
|
+
type ToolInput<Args extends Record<string, unknown>> = {
|
|
13
3
|
readonly description: string;
|
|
14
4
|
readonly args: Args;
|
|
15
5
|
execute(args: Record<string, unknown>, context: ToolContext): Promise<ToolResult>;
|
|
16
|
-
}
|
|
6
|
+
};
|
|
7
|
+
type ToolSchema = {
|
|
8
|
+
string(): {
|
|
9
|
+
optional(): unknown;
|
|
10
|
+
describe(description: string): {
|
|
11
|
+
optional(): unknown;
|
|
12
|
+
};
|
|
13
|
+
};
|
|
14
|
+
};
|
|
15
|
+
type ToolFactory = (<Args extends Record<string, unknown>>(input: {
|
|
17
16
|
readonly description: string;
|
|
18
17
|
readonly args: Args;
|
|
19
18
|
execute(args: Record<string, unknown>, context: ToolContext): Promise<ToolResult>;
|
|
20
|
-
}) & {
|
|
21
|
-
readonly schema:
|
|
22
|
-
string(): StringSchema;
|
|
23
|
-
};
|
|
19
|
+
}) => ToolInput<Args>) & {
|
|
20
|
+
readonly schema: ToolSchema;
|
|
24
21
|
};
|
|
25
22
|
export declare const tool: ToolFactory;
|
|
26
23
|
export declare function projectRootFromContext(context: ToolContext): string;
|
package/dist/tool-kit.js
CHANGED
|
@@ -1,42 +1,11 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
return {
|
|
10
|
-
type: "optional",
|
|
11
|
-
innerType: createFallbackStringSchema(description)
|
|
12
|
-
};
|
|
13
|
-
}
|
|
14
|
-
};
|
|
15
|
-
}
|
|
16
|
-
function createFallbackToolFactory() {
|
|
17
|
-
const factory = ((input) => input);
|
|
18
|
-
Object.defineProperty(factory, "schema", {
|
|
19
|
-
value: {
|
|
20
|
-
string() {
|
|
21
|
-
return createFallbackStringSchema();
|
|
22
|
-
}
|
|
23
|
-
}
|
|
24
|
-
});
|
|
25
|
-
return factory;
|
|
26
|
-
}
|
|
27
|
-
async function loadToolFactory() {
|
|
28
|
-
try {
|
|
29
|
-
const plugin = await import("@opencode-ai/plugin");
|
|
30
|
-
if (typeof plugin.tool === "function") {
|
|
31
|
-
return plugin.tool;
|
|
32
|
-
}
|
|
33
|
-
}
|
|
34
|
-
catch {
|
|
35
|
-
// Packed-artifact import probes run before dependencies are installed.
|
|
36
|
-
}
|
|
37
|
-
return createFallbackToolFactory();
|
|
38
|
-
}
|
|
39
|
-
export const tool = await loadToolFactory();
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
// OpenCode's runtime helper is intentionally only an identity function with a
|
|
3
|
+
// zod namespace attached. Keeping both pieces local removes the host package's
|
|
4
|
+
// effect/ini dependency chain from packed consumers. A missing zod dependency
|
|
5
|
+
// must fail the import instead of silently downgrading to an unvalidated schema.
|
|
6
|
+
const toolFactory = ((input) => input);
|
|
7
|
+
Object.assign(toolFactory, { schema: z });
|
|
8
|
+
export const tool = toolFactory;
|
|
40
9
|
export function projectRootFromContext(context) {
|
|
41
10
|
const worktree = context.worktree?.trim();
|
|
42
11
|
if (worktree !== undefined && worktree !== "" && worktree !== "/")
|
|
@@ -1 +1 @@
|
|
|
1
|
-
<svg xmlns="http://www.w3.org/2000/svg" width="146" height="20" role="img" aria-label="release: 1.0.
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" width="146" height="20" role="img" aria-label="release: 1.0.1"><title>release: 1.0.1</title><g shape-rendering="crispEdges"><rect width="49" height="20" fill="#080d14"/><rect x="49" width="97" height="20" fill="#ff6337"/></g><g fill="#fff" text-anchor="middle" font-family="Verdana,Geneva,DejaVu Sans,sans-serif" text-rendering="geometricPrecision" font-size="110"><text x="255" y="140" textLength="390" transform="scale(.1)">release</text><text x="965" y="140" textLength="870" transform="scale(.1)" fill="#080D14">1.0.1</text></g></svg>
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@litfamily/litopencode",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.1",
|
|
4
4
|
"description": "LitOpenCode OpenCode plugin bootstrap package.",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"repository": {
|
|
@@ -43,10 +43,11 @@
|
|
|
43
43
|
"typecheck": "node tools/run-typecheck.mjs"
|
|
44
44
|
},
|
|
45
45
|
"dependencies": {
|
|
46
|
-
"
|
|
47
|
-
"
|
|
46
|
+
"yaml": "^2.9.0",
|
|
47
|
+
"zod": "4.1.8"
|
|
48
48
|
},
|
|
49
49
|
"devDependencies": {
|
|
50
|
+
"@opencode-ai/plugin": "^1.17.6",
|
|
50
51
|
"@types/node": "^24.12.2",
|
|
51
52
|
"picomatch": "^4.0.5",
|
|
52
53
|
"typescript": "^5.9.3"
|
|
@@ -11,13 +11,13 @@
|
|
|
11
11
|
{
|
|
12
12
|
"path": "README-Ko-KR.md",
|
|
13
13
|
"kind": "pinned",
|
|
14
|
-
"occurrences":
|
|
14
|
+
"occurrences": 9,
|
|
15
15
|
"why": "The landing page identifies the current checkout version; the repository-owned cover is version-free."
|
|
16
16
|
},
|
|
17
17
|
{
|
|
18
18
|
"path": "README.md",
|
|
19
19
|
"kind": "pinned",
|
|
20
|
-
"occurrences":
|
|
20
|
+
"occurrences": 9,
|
|
21
21
|
"why": "The landing page identifies the current checkout version; the repository-owned cover is version-free."
|
|
22
22
|
},
|
|
23
23
|
{
|
|
@@ -45,10 +45,10 @@
|
|
|
45
45
|
"why": "This package manifest is the source of truth used by the lockstep guard."
|
|
46
46
|
},
|
|
47
47
|
{
|
|
48
|
-
"path": "test/
|
|
48
|
+
"path": "test/docs.test.mjs",
|
|
49
49
|
"kind": "pinned",
|
|
50
50
|
"occurrences": 1,
|
|
51
|
-
"why": "
|
|
51
|
+
"why": "The landing-cover assertion pins the jsDelivr URL to the published package version, so it advances with the README image pins."
|
|
52
52
|
},
|
|
53
53
|
{
|
|
54
54
|
"path": "test/package-identity.test.mjs",
|