@useactor/core 0.1.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/ai-sdk-provider.d.ts +54 -0
- package/dist/ai-sdk-provider.d.ts.map +1 -0
- package/dist/ai-sdk-provider.js +335 -0
- package/dist/ai-sdk-provider.js.map +1 -0
- package/dist/app-runtime.d.ts +83 -0
- package/dist/app-runtime.d.ts.map +1 -0
- package/dist/app-runtime.js +504 -0
- package/dist/app-runtime.js.map +1 -0
- package/dist/artifacts.d.ts +49 -0
- package/dist/artifacts.d.ts.map +1 -0
- package/dist/artifacts.js +50 -0
- package/dist/artifacts.js.map +1 -0
- package/dist/cli-defined-tools.d.ts +17 -0
- package/dist/cli-defined-tools.d.ts.map +1 -0
- package/dist/cli-defined-tools.js +146 -0
- package/dist/cli-defined-tools.js.map +1 -0
- package/dist/codex-oauth-provider.d.ts +30 -0
- package/dist/codex-oauth-provider.d.ts.map +1 -0
- package/dist/codex-oauth-provider.js +453 -0
- package/dist/codex-oauth-provider.js.map +1 -0
- package/dist/events.d.ts +133 -0
- package/dist/events.d.ts.map +1 -0
- package/dist/events.js +46 -0
- package/dist/events.js.map +1 -0
- package/dist/feedback.d.ts +29 -0
- package/dist/feedback.d.ts.map +1 -0
- package/dist/feedback.js +62 -0
- package/dist/feedback.js.map +1 -0
- package/dist/history.d.ts +34 -0
- package/dist/history.d.ts.map +1 -0
- package/dist/history.js +118 -0
- package/dist/history.js.map +1 -0
- package/dist/in-memory-runtime.d.ts +12 -0
- package/dist/in-memory-runtime.d.ts.map +1 -0
- package/dist/in-memory-runtime.js +491 -0
- package/dist/in-memory-runtime.js.map +1 -0
- package/dist/index.d.ts +36 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +36 -0
- package/dist/index.js.map +1 -0
- package/dist/integrations.d.ts +37 -0
- package/dist/integrations.d.ts.map +1 -0
- package/dist/integrations.js +48 -0
- package/dist/integrations.js.map +1 -0
- package/dist/local-event-logger.d.ts +19 -0
- package/dist/local-event-logger.d.ts.map +1 -0
- package/dist/local-event-logger.js +163 -0
- package/dist/local-event-logger.js.map +1 -0
- package/dist/local-event-schema.d.ts +99 -0
- package/dist/local-event-schema.d.ts.map +1 -0
- package/dist/local-event-schema.js +43 -0
- package/dist/local-event-schema.js.map +1 -0
- package/dist/local-tools.d.ts +99 -0
- package/dist/local-tools.d.ts.map +1 -0
- package/dist/local-tools.js +418 -0
- package/dist/local-tools.js.map +1 -0
- package/dist/mcp-server-config.d.ts +16 -0
- package/dist/mcp-server-config.d.ts.map +1 -0
- package/dist/mcp-server-config.js +75 -0
- package/dist/mcp-server-config.js.map +1 -0
- package/dist/mock-provider.d.ts +8 -0
- package/dist/mock-provider.d.ts.map +1 -0
- package/dist/mock-provider.js +47 -0
- package/dist/mock-provider.js.map +1 -0
- package/dist/model-catalog.d.ts +24 -0
- package/dist/model-catalog.d.ts.map +1 -0
- package/dist/model-catalog.js +92 -0
- package/dist/model-catalog.js.map +1 -0
- package/dist/monoid-integration.d.ts +33 -0
- package/dist/monoid-integration.d.ts.map +1 -0
- package/dist/monoid-integration.js +184 -0
- package/dist/monoid-integration.js.map +1 -0
- package/dist/openai-oauth.d.ts +69 -0
- package/dist/openai-oauth.d.ts.map +1 -0
- package/dist/openai-oauth.js +127 -0
- package/dist/openai-oauth.js.map +1 -0
- package/dist/permission-grant-store.d.ts +7 -0
- package/dist/permission-grant-store.d.ts.map +1 -0
- package/dist/permission-grant-store.js +77 -0
- package/dist/permission-grant-store.js.map +1 -0
- package/dist/permission-grants.d.ts +38 -0
- package/dist/permission-grants.d.ts.map +1 -0
- package/dist/permission-grants.js +93 -0
- package/dist/permission-grants.js.map +1 -0
- package/dist/personas.d.ts +51 -0
- package/dist/personas.d.ts.map +1 -0
- package/dist/personas.js +137 -0
- package/dist/personas.js.map +1 -0
- package/dist/project-tool-registry.d.ts +16 -0
- package/dist/project-tool-registry.d.ts.map +1 -0
- package/dist/project-tool-registry.js +86 -0
- package/dist/project-tool-registry.js.map +1 -0
- package/dist/projects.d.ts +88 -0
- package/dist/projects.d.ts.map +1 -0
- package/dist/projects.js +243 -0
- package/dist/projects.js.map +1 -0
- package/dist/prompt-context.d.ts +13 -0
- package/dist/prompt-context.d.ts.map +1 -0
- package/dist/prompt-context.js +170 -0
- package/dist/prompt-context.js.map +1 -0
- package/dist/proposed-plan.d.ts +24 -0
- package/dist/proposed-plan.d.ts.map +1 -0
- package/dist/proposed-plan.js +74 -0
- package/dist/proposed-plan.js.map +1 -0
- package/dist/providers.d.ts +53 -0
- package/dist/providers.d.ts.map +1 -0
- package/dist/providers.js +31 -0
- package/dist/providers.js.map +1 -0
- package/dist/question-requests.d.ts +39 -0
- package/dist/question-requests.d.ts.map +1 -0
- package/dist/question-requests.js +135 -0
- package/dist/question-requests.js.map +1 -0
- package/dist/renderer-api.d.ts +52 -0
- package/dist/renderer-api.d.ts.map +1 -0
- package/dist/renderer-api.js +2 -0
- package/dist/renderer-api.js.map +1 -0
- package/dist/runtime-tool-execution.d.ts +22 -0
- package/dist/runtime-tool-execution.d.ts.map +1 -0
- package/dist/runtime-tool-execution.js +245 -0
- package/dist/runtime-tool-execution.js.map +1 -0
- package/dist/runtime.d.ts +154 -0
- package/dist/runtime.d.ts.map +1 -0
- package/dist/runtime.js +184 -0
- package/dist/runtime.js.map +1 -0
- package/dist/secrets.d.ts +75 -0
- package/dist/secrets.d.ts.map +1 -0
- package/dist/secrets.js +255 -0
- package/dist/secrets.js.map +1 -0
- package/dist/session-actions.d.ts +45 -0
- package/dist/session-actions.d.ts.map +1 -0
- package/dist/session-actions.js +393 -0
- package/dist/session-actions.js.map +1 -0
- package/dist/skills.d.ts +43 -0
- package/dist/skills.d.ts.map +1 -0
- package/dist/skills.js +333 -0
- package/dist/skills.js.map +1 -0
- package/dist/test/setup.d.ts +2 -0
- package/dist/test/setup.d.ts.map +1 -0
- package/dist/test/setup.js +17 -0
- package/dist/test/setup.js.map +1 -0
- package/dist/tool-requests.d.ts +58 -0
- package/dist/tool-requests.d.ts.map +1 -0
- package/dist/tool-requests.js +122 -0
- package/dist/tool-requests.js.map +1 -0
- package/dist/tools.d.ts +45 -0
- package/dist/tools.d.ts.map +1 -0
- package/dist/tools.js +50 -0
- package/dist/tools.js.map +1 -0
- package/dist/wyrdos-integration.d.ts +32 -0
- package/dist/wyrdos-integration.d.ts.map +1 -0
- package/dist/wyrdos-integration.js +183 -0
- package/dist/wyrdos-integration.js.map +1 -0
- package/package.json +51 -0
package/dist/tools.js
ADDED
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
export class DuplicateToolIdError extends Error {
|
|
2
|
+
constructor(toolId) {
|
|
3
|
+
super(`Tool with id "${toolId}" is already registered.`);
|
|
4
|
+
this.name = "DuplicateToolIdError";
|
|
5
|
+
}
|
|
6
|
+
}
|
|
7
|
+
export function createToolRegistry(initialTools = []) {
|
|
8
|
+
const tools = new Map();
|
|
9
|
+
const registry = {
|
|
10
|
+
registerTool(tool) {
|
|
11
|
+
if (tools.has(tool.id)) {
|
|
12
|
+
throw new DuplicateToolIdError(tool.id);
|
|
13
|
+
}
|
|
14
|
+
tools.set(tool.id, tool);
|
|
15
|
+
},
|
|
16
|
+
listTools(options) {
|
|
17
|
+
return [...tools.values()].filter((tool) => matchesProject(tool, options?.project));
|
|
18
|
+
},
|
|
19
|
+
listToolDescriptors(options) {
|
|
20
|
+
return registry.listTools(options).map(toToolDescriptor);
|
|
21
|
+
},
|
|
22
|
+
getTool(toolId) {
|
|
23
|
+
return tools.get(toolId);
|
|
24
|
+
}
|
|
25
|
+
};
|
|
26
|
+
for (const tool of initialTools) {
|
|
27
|
+
registry.registerTool(tool);
|
|
28
|
+
}
|
|
29
|
+
return registry;
|
|
30
|
+
}
|
|
31
|
+
export function toToolDescriptor(tool) {
|
|
32
|
+
return {
|
|
33
|
+
id: tool.id,
|
|
34
|
+
name: tool.name,
|
|
35
|
+
description: tool.description,
|
|
36
|
+
inputSchema: tool.inputSchema,
|
|
37
|
+
permissionPolicy: tool.permissionPolicy
|
|
38
|
+
};
|
|
39
|
+
}
|
|
40
|
+
function matchesProject(tool, project) {
|
|
41
|
+
const projectIds = tool.projectFilter?.projectIds;
|
|
42
|
+
if (!projectIds || projectIds.length === 0) {
|
|
43
|
+
return true;
|
|
44
|
+
}
|
|
45
|
+
if (!project) {
|
|
46
|
+
return false;
|
|
47
|
+
}
|
|
48
|
+
return projectIds.includes(project.id);
|
|
49
|
+
}
|
|
50
|
+
//# sourceMappingURL=tools.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tools.js","sourceRoot":"","sources":["../src/tools.ts"],"names":[],"mappings":"AAmDA,MAAM,OAAO,oBAAqB,SAAQ,KAAK;IAC7C,YAAY,MAAe;QACzB,KAAK,CAAC,iBAAiB,MAAM,0BAA0B,CAAC,CAAC;QACzD,IAAI,CAAC,IAAI,GAAG,sBAAsB,CAAC;IACrC,CAAC;CACF;AAED,MAAM,UAAU,kBAAkB,CAAC,eAA0C,EAAE;IAC7E,MAAM,KAAK,GAAG,IAAI,GAAG,EAA2B,CAAC;IAEjD,MAAM,QAAQ,GAAiB;QAC7B,YAAY,CAAC,IAAI;YACf,IAAI,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC;gBACvB,MAAM,IAAI,oBAAoB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAC1C,CAAC;YAED,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;QAC3B,CAAC;QAED,SAAS,CAAC,OAAO;YACf,OAAO,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,cAAc,CAAC,IAAI,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC;QACtF,CAAC;QAED,mBAAmB,CAAC,OAAO;YACzB,OAAO,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;QAC3D,CAAC;QAED,OAAO,CAAC,MAAM;YACZ,OAAO,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QAC3B,CAAC;KACF,CAAC;IAEF,KAAK,MAAM,IAAI,IAAI,YAAY,EAAE,CAAC;QAChC,QAAQ,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;IAC9B,CAAC;IAED,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,IAAoB;IACnD,OAAO;QACL,EAAE,EAAE,IAAI,CAAC,EAAE;QACX,IAAI,EAAE,IAAI,CAAC,IAAI;QACf,WAAW,EAAE,IAAI,CAAC,WAAW;QAC7B,WAAW,EAAE,IAAI,CAAC,WAAW;QAC7B,gBAAgB,EAAE,IAAI,CAAC,gBAAgB;KACxC,CAAC;AACJ,CAAC;AAED,SAAS,cAAc,CAAC,IAAoB,EAAE,OAA+B;IAC3E,MAAM,UAAU,GAAG,IAAI,CAAC,aAAa,EAAE,UAAU,CAAC;IAElD,IAAI,CAAC,UAAU,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC3C,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,OAAO,KAAK,CAAC;IACf,CAAC;IAED,OAAO,UAAU,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;AACzC,CAAC"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import type { IntegrationRegistration } from "./integrations.js";
|
|
2
|
+
type ExecRunner = (file: string, args: readonly string[], options: {
|
|
3
|
+
readonly timeout: number;
|
|
4
|
+
readonly maxBuffer: number;
|
|
5
|
+
}) => Promise<{
|
|
6
|
+
readonly stdout: string;
|
|
7
|
+
readonly stderr: string;
|
|
8
|
+
}>;
|
|
9
|
+
export declare class IntegrationCliError extends Error {
|
|
10
|
+
readonly code: "missing_cli" | "cli_failed" | "invalid_payload";
|
|
11
|
+
readonly recoverable = true;
|
|
12
|
+
constructor(code: "missing_cli" | "cli_failed" | "invalid_payload", message: string);
|
|
13
|
+
}
|
|
14
|
+
export declare function createWyrdosIntegrationSkeleton(): IntegrationRegistration;
|
|
15
|
+
export interface WyrdosReadInput {
|
|
16
|
+
readonly scope: "workspace" | "container" | "project";
|
|
17
|
+
readonly ref?: string;
|
|
18
|
+
}
|
|
19
|
+
export declare function runWyrdosContextRead(input: WyrdosReadInput, options?: {
|
|
20
|
+
readonly exec?: ExecRunner;
|
|
21
|
+
readonly maxBytes?: number;
|
|
22
|
+
}): Promise<Record<string, unknown>>;
|
|
23
|
+
export declare function runWyrdosUpdate(args: readonly string[], options?: {
|
|
24
|
+
readonly exec?: ExecRunner;
|
|
25
|
+
readonly maxBytes?: number;
|
|
26
|
+
}): Promise<{
|
|
27
|
+
readonly ok: boolean;
|
|
28
|
+
readonly args: readonly string[];
|
|
29
|
+
readonly summary: string;
|
|
30
|
+
}>;
|
|
31
|
+
export {};
|
|
32
|
+
//# sourceMappingURL=wyrdos-integration.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"wyrdos-integration.d.ts","sourceRoot":"","sources":["../src/wyrdos-integration.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,mBAAmB,CAAC;AAMjE,KAAK,UAAU,GAAG,CAChB,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,SAAS,MAAM,EAAE,EACvB,OAAO,EAAE;IAAE,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;CAAE,KAC9D,OAAO,CAAC;IAAE,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC,CAAC;AAEnE,qBAAa,mBAAoB,SAAQ,KAAK;IAC5C,QAAQ,CAAC,IAAI,EAAE,aAAa,GAAG,YAAY,GAAG,iBAAiB,CAAC;IAChE,QAAQ,CAAC,WAAW,QAAQ;gBAEhB,IAAI,EAAE,aAAa,GAAG,YAAY,GAAG,iBAAiB,EAAE,OAAO,EAAE,MAAM;CAKpF;AAaD,wBAAgB,+BAA+B,IAAI,uBAAuB,CAqFzE;AAED,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,KAAK,EAAE,WAAW,GAAG,WAAW,GAAG,SAAS,CAAC;IACtD,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,wBAAsB,oBAAoB,CACxC,KAAK,EAAE,eAAe,EACtB,OAAO,GAAE;IACP,QAAQ,CAAC,IAAI,CAAC,EAAE,UAAU,CAAC;IAC3B,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;CACvB,GACL,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CA+BlC;AAED,wBAAsB,eAAe,CACnC,IAAI,EAAE,SAAS,MAAM,EAAE,EACvB,OAAO,GAAE;IACP,QAAQ,CAAC,IAAI,CAAC,EAAE,UAAU,CAAC;IAC3B,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;CACvB,GACL,OAAO,CAAC;IAAE,QAAQ,CAAC,EAAE,EAAE,OAAO,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,SAAS,MAAM,EAAE,CAAC;IAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC,CAe/F"}
|
|
@@ -0,0 +1,183 @@
|
|
|
1
|
+
import { execFile } from "node:child_process";
|
|
2
|
+
import { promisify } from "node:util";
|
|
3
|
+
const execFileAsync = promisify(execFile);
|
|
4
|
+
export class IntegrationCliError extends Error {
|
|
5
|
+
code;
|
|
6
|
+
recoverable = true;
|
|
7
|
+
constructor(code, message) {
|
|
8
|
+
super(message);
|
|
9
|
+
this.code = code;
|
|
10
|
+
this.name = "IntegrationCliError";
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
function createNotWiredResult(toolId) {
|
|
14
|
+
return {
|
|
15
|
+
content: JSON.stringify({
|
|
16
|
+
ok: false,
|
|
17
|
+
code: "integration_not_wired",
|
|
18
|
+
toolId,
|
|
19
|
+
message: "WyrdOS CLI execution is not wired yet."
|
|
20
|
+
})
|
|
21
|
+
};
|
|
22
|
+
}
|
|
23
|
+
export function createWyrdosIntegrationSkeleton() {
|
|
24
|
+
const readInputSchema = {
|
|
25
|
+
type: "object",
|
|
26
|
+
additionalProperties: false,
|
|
27
|
+
properties: {
|
|
28
|
+
scope: { type: "string", enum: ["workspace", "container", "project"] },
|
|
29
|
+
ref: { type: "string" }
|
|
30
|
+
}
|
|
31
|
+
};
|
|
32
|
+
const writeInputSchema = {
|
|
33
|
+
type: "object",
|
|
34
|
+
additionalProperties: false,
|
|
35
|
+
required: ["args"],
|
|
36
|
+
properties: {
|
|
37
|
+
args: {
|
|
38
|
+
type: "array",
|
|
39
|
+
minItems: 1,
|
|
40
|
+
items: { type: "string" }
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
};
|
|
44
|
+
const tools = [
|
|
45
|
+
{
|
|
46
|
+
id: "wyrdos_context_read",
|
|
47
|
+
name: "WyrdOS context read",
|
|
48
|
+
description: "Read compact WyrdOS context for configured workspace/container/project refs.",
|
|
49
|
+
inputSchema: readInputSchema,
|
|
50
|
+
permissionPolicy: "never",
|
|
51
|
+
async executor(input) {
|
|
52
|
+
const params = normalizeReadInput(input);
|
|
53
|
+
const context = await runWyrdosContextRead(params);
|
|
54
|
+
return {
|
|
55
|
+
content: JSON.stringify({
|
|
56
|
+
scope: params.scope,
|
|
57
|
+
ref: params.ref,
|
|
58
|
+
context
|
|
59
|
+
})
|
|
60
|
+
};
|
|
61
|
+
}
|
|
62
|
+
},
|
|
63
|
+
{
|
|
64
|
+
id: "wyrdos_update",
|
|
65
|
+
name: "WyrdOS update",
|
|
66
|
+
description: "Execute an approval-gated WyrdOS CLI write action.",
|
|
67
|
+
inputSchema: writeInputSchema,
|
|
68
|
+
permissionPolicy: "on-request",
|
|
69
|
+
async executor(input) {
|
|
70
|
+
const args = normalizeWriteArgs(input);
|
|
71
|
+
const result = await runWyrdosUpdate(args);
|
|
72
|
+
return {
|
|
73
|
+
content: JSON.stringify(result)
|
|
74
|
+
};
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
];
|
|
78
|
+
return {
|
|
79
|
+
definition: {
|
|
80
|
+
id: "wyrdos",
|
|
81
|
+
kind: "wyrdos",
|
|
82
|
+
name: "WyrdOS",
|
|
83
|
+
description: "WyrdOS CLI-backed integration tools.",
|
|
84
|
+
tools: [
|
|
85
|
+
{
|
|
86
|
+
id: "wyrdos_context_read",
|
|
87
|
+
name: "WyrdOS context read",
|
|
88
|
+
description: "Read compact WyrdOS context.",
|
|
89
|
+
inputSchema: readInputSchema,
|
|
90
|
+
permissionPolicy: "never",
|
|
91
|
+
readOnly: true,
|
|
92
|
+
approvalRequired: false
|
|
93
|
+
},
|
|
94
|
+
{
|
|
95
|
+
id: "wyrdos_update",
|
|
96
|
+
name: "WyrdOS update",
|
|
97
|
+
description: "Approval-gated WyrdOS CLI write action.",
|
|
98
|
+
inputSchema: writeInputSchema,
|
|
99
|
+
permissionPolicy: "on-request",
|
|
100
|
+
readOnly: false,
|
|
101
|
+
approvalRequired: true
|
|
102
|
+
}
|
|
103
|
+
]
|
|
104
|
+
},
|
|
105
|
+
tools
|
|
106
|
+
};
|
|
107
|
+
}
|
|
108
|
+
export async function runWyrdosContextRead(input, options = {}) {
|
|
109
|
+
const exec = options.exec ?? execFileAsync;
|
|
110
|
+
const args = [
|
|
111
|
+
"context",
|
|
112
|
+
"get",
|
|
113
|
+
"--scope",
|
|
114
|
+
input.scope,
|
|
115
|
+
...(input.ref ? ["--ref", input.ref] : []),
|
|
116
|
+
"-o",
|
|
117
|
+
"json"
|
|
118
|
+
];
|
|
119
|
+
try {
|
|
120
|
+
const result = await exec("wyrdos", args, { timeout: 10_000, maxBuffer: options.maxBytes ?? 128_000 });
|
|
121
|
+
const parsed = JSON.parse(result.stdout);
|
|
122
|
+
if (!parsed || typeof parsed !== "object" || Array.isArray(parsed)) {
|
|
123
|
+
throw new IntegrationCliError("invalid_payload", "WyrdOS CLI returned non-object context payload.");
|
|
124
|
+
}
|
|
125
|
+
return parsed;
|
|
126
|
+
}
|
|
127
|
+
catch (error) {
|
|
128
|
+
if (error instanceof IntegrationCliError) {
|
|
129
|
+
throw error;
|
|
130
|
+
}
|
|
131
|
+
if (typeof error === "object" && error && "code" in error && error.code === "ENOENT") {
|
|
132
|
+
throw new IntegrationCliError("missing_cli", "WyrdOS CLI not found. Install and login before using this tool.");
|
|
133
|
+
}
|
|
134
|
+
if (error instanceof SyntaxError) {
|
|
135
|
+
throw new IntegrationCliError("invalid_payload", "WyrdOS CLI returned invalid JSON.");
|
|
136
|
+
}
|
|
137
|
+
throw new IntegrationCliError("cli_failed", "WyrdOS CLI context read failed.");
|
|
138
|
+
}
|
|
139
|
+
}
|
|
140
|
+
export async function runWyrdosUpdate(args, options = {}) {
|
|
141
|
+
const exec = options.exec ?? execFileAsync;
|
|
142
|
+
try {
|
|
143
|
+
const result = await exec("wyrdos", [...args], {
|
|
144
|
+
timeout: 10_000,
|
|
145
|
+
maxBuffer: options.maxBytes ?? 128_000
|
|
146
|
+
});
|
|
147
|
+
const summary = [result.stdout, result.stderr].filter(Boolean).join("\n").trim().slice(0, 2000);
|
|
148
|
+
return { ok: true, args, summary };
|
|
149
|
+
}
|
|
150
|
+
catch (error) {
|
|
151
|
+
if (typeof error === "object" && error && "code" in error && error.code === "ENOENT") {
|
|
152
|
+
throw new IntegrationCliError("missing_cli", "WyrdOS CLI not found. Install and login before using this tool.");
|
|
153
|
+
}
|
|
154
|
+
throw new IntegrationCliError("cli_failed", "WyrdOS CLI write execution failed.");
|
|
155
|
+
}
|
|
156
|
+
}
|
|
157
|
+
function normalizeReadInput(input) {
|
|
158
|
+
if (!input || typeof input !== "object" || Array.isArray(input)) {
|
|
159
|
+
return { scope: "project" };
|
|
160
|
+
}
|
|
161
|
+
const scopeValue = input.scope;
|
|
162
|
+
const refValue = input.ref;
|
|
163
|
+
const scope = scopeValue === "workspace" || scopeValue === "container" || scopeValue === "project"
|
|
164
|
+
? scopeValue
|
|
165
|
+
: "project";
|
|
166
|
+
const ref = typeof refValue === "string" && refValue.trim() ? refValue.trim() : undefined;
|
|
167
|
+
return { scope, ...(ref ? { ref } : {}) };
|
|
168
|
+
}
|
|
169
|
+
function normalizeWriteArgs(input) {
|
|
170
|
+
if (!input || typeof input !== "object" || Array.isArray(input)) {
|
|
171
|
+
throw new Error("WyrdOS update requires an object input.");
|
|
172
|
+
}
|
|
173
|
+
const argsValue = input.args;
|
|
174
|
+
if (!Array.isArray(argsValue) || argsValue.length === 0) {
|
|
175
|
+
throw new Error("WyrdOS update requires args array.");
|
|
176
|
+
}
|
|
177
|
+
const args = argsValue.map((value) => String(value).trim()).filter(Boolean);
|
|
178
|
+
if (args.length === 0) {
|
|
179
|
+
throw new Error("WyrdOS update requires at least one non-empty arg.");
|
|
180
|
+
}
|
|
181
|
+
return args;
|
|
182
|
+
}
|
|
183
|
+
//# sourceMappingURL=wyrdos-integration.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"wyrdos-integration.js","sourceRoot":"","sources":["../src/wyrdos-integration.ts"],"names":[],"mappings":"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"}
|
package/package.json
ADDED
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@useactor/core",
|
|
3
|
+
"version": "0.1.0",
|
|
4
|
+
"type": "module",
|
|
5
|
+
"description": "Core runtime surface for Actor agent behavior.",
|
|
6
|
+
"license": "UNLICENSED",
|
|
7
|
+
"repository": {
|
|
8
|
+
"type": "git",
|
|
9
|
+
"url": "git+https://github.com/interfacingresearchlaboratory/reggie.git",
|
|
10
|
+
"directory": "packages/core"
|
|
11
|
+
},
|
|
12
|
+
"homepage": "https://actor.dev",
|
|
13
|
+
"bugs": {
|
|
14
|
+
"url": "https://github.com/interfacingresearchlaboratory/reggie/issues"
|
|
15
|
+
},
|
|
16
|
+
"engines": {
|
|
17
|
+
"node": ">=22.14.0"
|
|
18
|
+
},
|
|
19
|
+
"exports": {
|
|
20
|
+
".": {
|
|
21
|
+
"types": "./dist/index.d.ts",
|
|
22
|
+
"default": "./dist/index.js"
|
|
23
|
+
}
|
|
24
|
+
},
|
|
25
|
+
"types": "./dist/index.d.ts",
|
|
26
|
+
"files": [
|
|
27
|
+
"dist",
|
|
28
|
+
"!dist/**/*.test.*"
|
|
29
|
+
],
|
|
30
|
+
"publishConfig": {
|
|
31
|
+
"access": "public"
|
|
32
|
+
},
|
|
33
|
+
"dependencies": {
|
|
34
|
+
"@ai-sdk/openai": "^3.0.64",
|
|
35
|
+
"@vscode/ripgrep": "^1.18.0",
|
|
36
|
+
"ai": "^6.0.188",
|
|
37
|
+
"@useactor/storage": "0.1.0"
|
|
38
|
+
},
|
|
39
|
+
"devDependencies": {
|
|
40
|
+
"typescript": "^5.8.3",
|
|
41
|
+
"vitest": "^3.2.4",
|
|
42
|
+
"@actor/typescript-config": "0.0.0"
|
|
43
|
+
},
|
|
44
|
+
"scripts": {
|
|
45
|
+
"build": "tsc -p tsconfig.json",
|
|
46
|
+
"check-types": "tsc --noEmit -p tsconfig.json",
|
|
47
|
+
"lint": "tsc --noEmit -p tsconfig.json",
|
|
48
|
+
"pretest": "pnpm --filter @useactor/storage build",
|
|
49
|
+
"test": "vitest run --config vitest.config.ts"
|
|
50
|
+
}
|
|
51
|
+
}
|