@xemahq/opencode-xema-plugin 0.2.0 → 0.3.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.
- package/dist/.source-stamp.json +2 -2
- package/dist/context.d.ts +0 -1
- package/dist/context.d.ts.map +1 -1
- package/dist/context.js +0 -1
- package/dist/context.js.map +1 -1
- package/dist/index.d.ts +0 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -12
- package/dist/index.js.map +1 -1
- package/dist/opencode-types.d.ts +0 -20
- package/dist/opencode-types.d.ts.map +1 -1
- package/dist/opencode-types.js +1 -3
- package/dist/opencode-types.js.map +1 -1
- package/package.json +4 -5
- package/plugin.mjs +7248 -2327
- package/dist/session-state.d.ts +0 -20
- package/dist/session-state.d.ts.map +0 -1
- package/dist/session-state.js +0 -43
- package/dist/session-state.js.map +0 -1
- package/dist/tools/runtime.d.ts +0 -2
- package/dist/tools/runtime.d.ts.map +0 -1
- package/dist/tools/runtime.js +0 -2
- package/dist/tools/runtime.js.map +0 -1
- package/dist/tools/service-token.d.ts +0 -3
- package/dist/tools/service-token.d.ts.map +0 -1
- package/dist/tools/service-token.js +0 -31
- package/dist/tools/service-token.js.map +0 -1
- package/dist/tools/shared.d.ts +0 -3
- package/dist/tools/shared.d.ts.map +0 -1
- package/dist/tools/shared.js +0 -11
- package/dist/tools/shared.js.map +0 -1
- package/dist/tools/xema-memory.d.ts +0 -31
- package/dist/tools/xema-memory.d.ts.map +0 -1
- package/dist/tools/xema-memory.js +0 -157
- package/dist/tools/xema-memory.js.map +0 -1
package/dist/.source-stamp.json
CHANGED
package/dist/context.d.ts
CHANGED
|
@@ -39,7 +39,6 @@ declare const ContextJsonSchema: z.ZodObject<{
|
|
|
39
39
|
"own-pages-only": "own-pages-only";
|
|
40
40
|
"full-write": "full-write";
|
|
41
41
|
}>;
|
|
42
|
-
allowedXemaTools: z.ZodArray<z.ZodString>;
|
|
43
42
|
}, z.core.$strip>;
|
|
44
43
|
git: z.ZodOptional<z.ZodNullable<z.ZodObject<{
|
|
45
44
|
autoCommit: z.ZodEnum<{
|
package/dist/context.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../src/context.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,QAAA,MAAM,iBAAiB
|
|
1
|
+
{"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../src/context.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,QAAA,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAgGrB,CAAC;AAEH,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAClE,MAAM,MAAM,cAAc,GAAG,iBAAiB,CAAC,YAAY,CAAC,CAAC,MAAM,CAAC,CAAC;AAUrE,wBAAgB,qBAAqB,CACnC,YAAY,EAAE,MAAM,GACnB,iBAAiB,GAAG,IAAI,CAQ1B;AAUD,wBAAgB,4BAA4B,CAC1C,YAAY,EAAE,MAAM,EACpB,QAAQ,EAAE,MAAM,GACf,iBAAiB,GAAG,IAAI,CAiB1B"}
|
package/dist/context.js
CHANGED
|
@@ -37,7 +37,6 @@ const ContextJsonSchema = z.object({
|
|
|
37
37
|
mayWriteKnowledgeBase: z.boolean().default(true),
|
|
38
38
|
mayEditRepos: z.boolean().default(false),
|
|
39
39
|
writePolicy: z.enum(['read-only', 'own-pages-only', 'full-write']),
|
|
40
|
-
allowedXemaTools: z.array(z.string()).min(1),
|
|
41
40
|
}),
|
|
42
41
|
git: z
|
|
43
42
|
.object({
|
package/dist/context.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"context.js","sourceRoot":"","sources":["../src/context.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACnD,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,IAAI,EAAE,MAAM,aAAa,CAAC;AAEnC,MAAM,iBAAiB,GAAG,CAAC,CAAC,MAAM,CAAC;IACjC,UAAU,EAAE,CAAC,CAAC,MAAM,CAAC;QACnB,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;QACvC,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;QAC3C,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;QAC3C,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC;YACX,aAAa;YACb,aAAa;YACb,eAAe;YACf,2BAA2B;YAC3B,iBAAiB;YACjB,eAAe;YACf,uBAAuB;YACvB,UAAU;YACV,eAAe;YACf,SAAS;YAKT,UAAU;SACX,CAAC;QACF,OAAO,EAAE,CAAC;aACP,IAAI,CAAC,CAAC,cAAc,EAAE,eAAe,EAAE,uBAAuB,EAAE,aAAa,CAAC,CAAC;aAC/E,QAAQ,EAAE;KACd,CAAC;IACF,OAAO,EAAE,CAAC;SACP,MAAM,CAAC;QACN,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE;QACjB,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,EAAE;QAK/B,cAAc,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,EAAE;KACrC,CAAC;SACD,OAAO,EAAE;IACZ,SAAS,EAAE,CAAC,CAAC,MAAM,CAAC;QAClB,iBAAiB,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,yBAAyB,CAAC,CAAC;QAC3E,aAAa,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;QAC9C,qBAAqB,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC;QAChD,YAAY,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC;QACxC,WAAW,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,gBAAgB,EAAE,YAAY,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"context.js","sourceRoot":"","sources":["../src/context.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -6,5 +6,4 @@ export { createSubagentFanoutCeiling, resolveSubagentFanoutLimit, DEFAULT_SUBAGE
|
|
|
6
6
|
export { readInvocationContext } from './context.js';
|
|
7
7
|
export type { InvocationContext, InvocationRole } from './context.js';
|
|
8
8
|
export * from './errors.js';
|
|
9
|
-
export { loadSessionState, loadSessionStateForTool, ensureRoleAllowed, ContextMissingError, RoleNotAllowedError, type SessionState, } from './session-state.js';
|
|
10
9
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAqFA,OAAO,KAAK,EAIV,MAAM,EACP,MAAM,qBAAqB,CAAC;AAkB7B,eAAO,MAAM,UAAU,EAAE,MAgBxB,CAAC;AAmFF,wBAAgB,wBAAwB,IAAI,IAAI,CAE/C;AA2BD,eAAe,UAAU,CAAC;AAG1B,OAAO,EACL,2BAA2B,EAC3B,0BAA0B,EAC1B,6BAA6B,EAC7B,8BAA8B,EAC9B,qBAAqB,EACrB,gBAAgB,EAChB,YAAY,EACZ,KAAK,qBAAqB,EAC1B,KAAK,oBAAoB,EACzB,KAAK,kBAAkB,GACxB,MAAM,oCAAoC,CAAC;AAC5C,OAAO,EAAE,qBAAqB,EAAE,MAAM,cAAc,CAAC;AACrD,YAAY,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AACtE,cAAc,aAAa,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -4,7 +4,6 @@ import { buildSessionIdleAutocommit } from './hooks/session-idle-autocommit.js';
|
|
|
4
4
|
import { createSubagentFanoutCeiling, resolveSubagentFanoutLimit, } from './hooks/subagent-fanout-ceiling.js';
|
|
5
5
|
import { buildSystemPromptOverlay } from './hooks/system-prompt-overlay.js';
|
|
6
6
|
import { info, isDebug, warn } from './logger.js';
|
|
7
|
-
import { buildXemaMemoryGetTool, buildXemaMemorySetTool, } from './tools/xema-memory.js';
|
|
8
7
|
const bootCache = new Map();
|
|
9
8
|
export const XemaPlugin = async (ctx) => {
|
|
10
9
|
const { directory } = ctx;
|
|
@@ -23,11 +22,9 @@ export const XemaPlugin = async (ctx) => {
|
|
|
23
22
|
}
|
|
24
23
|
};
|
|
25
24
|
async function doBoot(directory) {
|
|
26
|
-
const tools = buildAllTools(directory);
|
|
27
|
-
const toolNames = Object.keys(tools).sort((a, b) => a.localeCompare(b));
|
|
28
25
|
const contextPath = join(directory, 'context.json');
|
|
29
26
|
const contextPresentAtBoot = existsSync(contextPath);
|
|
30
|
-
info(`boot: directory=${directory} tools
|
|
27
|
+
info(`boot: directory=${directory} tools=0 (hooks only) ` +
|
|
31
28
|
`context.json=${contextPresentAtBoot ? 'present' : 'absent'} ` +
|
|
32
29
|
`debug=${isDebug() ? 'on' : 'off'}`);
|
|
33
30
|
const fanoutLimit = resolveSubagentFanoutLimit();
|
|
@@ -36,7 +33,6 @@ async function doBoot(directory) {
|
|
|
36
33
|
info(`boot: subagent fan-out ceiling active (limit=${fanoutLimit} concurrent task calls ` +
|
|
37
34
|
`per worker; tighten with XEMA_SUBAGENT_FANOUT_LIMIT)`);
|
|
38
35
|
const hooks = {
|
|
39
|
-
tool: tools,
|
|
40
36
|
'experimental.chat.system.transform': buildSystemPromptOverlay(directory),
|
|
41
37
|
'tool.execute.before': async (input) => {
|
|
42
38
|
await fanout.before(input);
|
|
@@ -70,15 +66,8 @@ async function doBoot(directory) {
|
|
|
70
66
|
export function __resetBootCacheForTests() {
|
|
71
67
|
bootCache.clear();
|
|
72
68
|
}
|
|
73
|
-
function buildAllTools(workspaceDir) {
|
|
74
|
-
return {
|
|
75
|
-
xema_memory_set: buildXemaMemorySetTool(workspaceDir),
|
|
76
|
-
xema_memory_get: buildXemaMemoryGetTool(workspaceDir),
|
|
77
|
-
};
|
|
78
|
-
}
|
|
79
69
|
export default XemaPlugin;
|
|
80
70
|
export { createSubagentFanoutCeiling, resolveSubagentFanoutLimit, DEFAULT_SUBAGENT_FANOUT_LIMIT, DEFAULT_FANOUT_WAIT_TIMEOUT_MS, DEFAULT_PERMIT_TTL_MS, FANOUT_LIMIT_ENV, TASK_TOOL_ID, } from './hooks/subagent-fanout-ceiling.js';
|
|
81
71
|
export { readInvocationContext } from './context.js';
|
|
82
72
|
export * from './errors.js';
|
|
83
|
-
export { loadSessionState, loadSessionStateForTool, ensureRoleAllowed, ContextMissingError, RoleNotAllowedError, } from './session-state.js';
|
|
84
73
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/opencode-types.d.ts
CHANGED
|
@@ -1,21 +1,3 @@
|
|
|
1
|
-
import type { z } from 'zod';
|
|
2
|
-
interface ToolContext {
|
|
3
|
-
sessionID: string;
|
|
4
|
-
messageID: string;
|
|
5
|
-
agent: string;
|
|
6
|
-
directory: string;
|
|
7
|
-
worktree: string;
|
|
8
|
-
abort: AbortSignal;
|
|
9
|
-
metadata(input: {
|
|
10
|
-
title?: string;
|
|
11
|
-
metadata?: Record<string, unknown>;
|
|
12
|
-
}): void;
|
|
13
|
-
}
|
|
14
|
-
export interface ToolDefinition<Args extends z.ZodRawShape = z.ZodRawShape> {
|
|
15
|
-
description: string;
|
|
16
|
-
args: Args;
|
|
17
|
-
execute(args: z.infer<z.ZodObject<Args>>, context: ToolContext): Promise<string>;
|
|
18
|
-
}
|
|
19
1
|
export interface ExperimentalChatModel {
|
|
20
2
|
providerID?: string;
|
|
21
3
|
modelID?: string;
|
|
@@ -43,7 +25,6 @@ export interface ToolExecuteHookInput {
|
|
|
43
25
|
callID: string;
|
|
44
26
|
}
|
|
45
27
|
export interface Hooks {
|
|
46
|
-
tool?: Record<string, ToolDefinition>;
|
|
47
28
|
dispose?: () => Promise<void>;
|
|
48
29
|
'tool.execute.before'?: (input: ToolExecuteHookInput, output: {
|
|
49
30
|
args: unknown;
|
|
@@ -64,6 +45,5 @@ interface PluginInput {
|
|
|
64
45
|
serverUrl: URL;
|
|
65
46
|
}
|
|
66
47
|
export type Plugin = (input: PluginInput) => Promise<Hooks>;
|
|
67
|
-
export declare function tool<Args extends z.ZodRawShape>(input: ToolDefinition<Args>): ToolDefinition<Args>;
|
|
68
48
|
export {};
|
|
69
49
|
//# sourceMappingURL=opencode-types.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"opencode-types.d.ts","sourceRoot":"","sources":["../src/opencode-types.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"opencode-types.d.ts","sourceRoot":"","sources":["../src/opencode-types.ts"],"names":[],"mappings":"AAuBA,MAAM,WAAW,qBAAqB;IACpC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,oCAAoC;IACnD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,qBAAqB,CAAC;CAC9B;AAED,MAAM,WAAW,qCAAqC;IACpD,MAAM,EAAE,MAAM,EAAE,CAAC;CAClB;AAUD,MAAM,MAAM,wBAAwB,GAAG;IACrC,IAAI,EAAE,cAAc,CAAC;IACrB,UAAU,EAAE;QAAE,SAAS,EAAE,MAAM,CAAA;KAAE,CAAC;CACnC,CAAC;AAEF,MAAM,MAAM,aAAa,GACrB,wBAAwB,GACxB;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAAE,CAAC;AAY3D,MAAM,WAAW,oBAAoB;IACnC,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,KAAK;IAOpB,OAAO,CAAC,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAU9B,qBAAqB,CAAC,EAAE,CACtB,KAAK,EAAE,oBAAoB,EAC3B,MAAM,EAAE;QAAE,IAAI,EAAE,OAAO,CAAA;KAAE,KACtB,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;IAO1B,oBAAoB,CAAC,EAAE,CACrB,KAAK,EAAE,oBAAoB,EAC3B,MAAM,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,OAAO,CAAA;KAAE,KACzD,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;IAO1B,oCAAoC,CAAC,EAAE,CACrC,KAAK,EAAE,oCAAoC,EAC3C,MAAM,EAAE,qCAAqC,KAC1C,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;IAQ1B,KAAK,CAAC,EAAE,CAAC,KAAK,EAAE;QAAE,KAAK,EAAE,aAAa,CAAA;KAAE,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;CACnE;AAED,UAAU,WAAW;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,GAAG,CAAC;CAChB;AAED,MAAM,MAAM,MAAM,GAAG,CAAC,KAAK,EAAE,WAAW,KAAK,OAAO,CAAC,KAAK,CAAC,CAAC"}
|
package/dist/opencode-types.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"opencode-types.js","sourceRoot":"","sources":["../src/opencode-types.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"opencode-types.js","sourceRoot":"","sources":["../src/opencode-types.ts"],"names":[],"mappings":""}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@xemahq/opencode-xema-plugin",
|
|
3
|
-
"version": "0.
|
|
4
|
-
"description": "Opencode plugin providing Xema
|
|
3
|
+
"version": "0.3.0",
|
|
4
|
+
"description": "Opencode plugin providing the Xema dynamic system-prompt overlay hook, the per-turn session.idle auto-commit, and the sub-agent fan-out ceiling. Contributes no tools.",
|
|
5
5
|
"license": "Apache-2.0",
|
|
6
6
|
"author": "Neuralchowder Inc. <developer@xema.dev> (https://xema.dev)",
|
|
7
7
|
"homepage": "https://xema.dev",
|
|
@@ -24,8 +24,7 @@
|
|
|
24
24
|
],
|
|
25
25
|
"peerDependencies": {
|
|
26
26
|
"@opencode-ai/plugin": "^1.0.0",
|
|
27
|
-
"zod": "^4.0.0"
|
|
28
|
-
"@xemahq/kernel-contracts": ">=12.0.0"
|
|
27
|
+
"zod": "^4.0.0"
|
|
29
28
|
},
|
|
30
29
|
"devDependencies": {
|
|
31
30
|
"@opencode-ai/plugin": "^1.15.10",
|
|
@@ -33,7 +32,7 @@
|
|
|
33
32
|
"esbuild": "^0.25.4",
|
|
34
33
|
"typescript": "5.9.3",
|
|
35
34
|
"zod": "^4.3.6",
|
|
36
|
-
"@xemahq/
|
|
35
|
+
"@xemahq/contracts": "^0.1.0"
|
|
37
36
|
},
|
|
38
37
|
"exports": {
|
|
39
38
|
".": {
|