me2lon 0.0.0-stage → 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.
Files changed (67) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +62 -2
  3. package/dist/api.d.ts +35 -0
  4. package/dist/api.d.ts.map +1 -0
  5. package/dist/api.js +286 -0
  6. package/dist/api.js.map +1 -0
  7. package/dist/cli.d.ts +4 -0
  8. package/dist/cli.d.ts.map +1 -0
  9. package/dist/cli.js +261 -0
  10. package/dist/cli.js.map +1 -0
  11. package/dist/client.d.ts +23 -0
  12. package/dist/client.d.ts.map +1 -0
  13. package/dist/client.js +272 -0
  14. package/dist/client.js.map +1 -0
  15. package/dist/config.d.ts +19 -0
  16. package/dist/config.d.ts.map +1 -0
  17. package/dist/config.js +173 -0
  18. package/dist/config.js.map +1 -0
  19. package/dist/errors.d.ts +14 -0
  20. package/dist/errors.d.ts.map +1 -0
  21. package/dist/errors.js +31 -0
  22. package/dist/errors.js.map +1 -0
  23. package/dist/index.d.ts +8 -0
  24. package/dist/index.d.ts.map +1 -0
  25. package/dist/index.js +8 -0
  26. package/dist/index.js.map +1 -0
  27. package/dist/presentation.d.ts +12 -0
  28. package/dist/presentation.d.ts.map +1 -0
  29. package/dist/presentation.js +50 -0
  30. package/dist/presentation.js.map +1 -0
  31. package/dist/safe-output.d.ts +20 -0
  32. package/dist/safe-output.d.ts.map +1 -0
  33. package/dist/safe-output.js +770 -0
  34. package/dist/safe-output.js.map +1 -0
  35. package/dist/setup.d.ts +14 -0
  36. package/dist/setup.d.ts.map +1 -0
  37. package/dist/setup.js +92 -0
  38. package/dist/setup.js.map +1 -0
  39. package/dist/skill.d.ts +2 -0
  40. package/dist/skill.d.ts.map +1 -0
  41. package/dist/skill.js +30 -0
  42. package/dist/skill.js.map +1 -0
  43. package/dist/types.d.ts +76 -0
  44. package/dist/types.d.ts.map +1 -0
  45. package/dist/types.js +8 -0
  46. package/dist/types.js.map +1 -0
  47. package/dist/workspace-source.d.ts +11 -0
  48. package/dist/workspace-source.d.ts.map +1 -0
  49. package/dist/workspace-source.js +387 -0
  50. package/dist/workspace-source.js.map +1 -0
  51. package/package.json +43 -4
  52. package/skill/LICENSE +21 -0
  53. package/skill/SKILL.md +18 -0
  54. package/src/api.ts +426 -0
  55. package/src/cli.ts +305 -0
  56. package/src/client.ts +413 -0
  57. package/src/config.ts +252 -0
  58. package/src/errors.ts +40 -0
  59. package/src/index.ts +37 -0
  60. package/src/presentation.ts +39 -0
  61. package/src/safe-output.ts +826 -0
  62. package/src/setup.ts +95 -0
  63. package/src/skill.ts +22 -0
  64. package/src/types.ts +85 -0
  65. package/src/workspace-source.ts +526 -0
  66. package/tsconfig.build.json +18 -0
  67. package/tsconfig.json +14 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"safe-output.js","sourceRoot":"","sources":["../src/safe-output.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,14 @@
1
+ import type { SafeToolResult } from "./types.js";
2
+ export type SetupOptions = {
3
+ directory?: string | undefined;
4
+ baseUrl?: string | undefined;
5
+ configPath?: string | undefined;
6
+ projectName?: string | undefined;
7
+ newCredential?: boolean | undefined;
8
+ };
9
+ export declare function setupProject(options: SetupOptions, runtime: {
10
+ fetch?: typeof fetch;
11
+ wait?: (milliseconds: number) => Promise<unknown>;
12
+ notify: (value: SafeToolResult) => void;
13
+ }): Promise<SafeToolResult>;
14
+ //# sourceMappingURL=setup.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"setup.d.ts","sourceRoot":"","sources":["../src/setup.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAmB,cAAc,EAAE,MAAM,YAAY,CAAC;AAElE,MAAM,MAAM,YAAY,GAAG;IACzB,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC/B,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC7B,UAAU,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAChC,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACjC,aAAa,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;CACrC,CAAC;AAUF,wBAAsB,YAAY,CAAC,OAAO,EAAE,YAAY,EAAE,OAAO,EAAE;IACjE,KAAK,CAAC,EAAE,OAAO,KAAK,CAAC;IACrB,IAAI,CAAC,EAAE,CAAC,YAAY,EAAE,MAAM,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;IAClD,MAAM,EAAE,CAAC,KAAK,EAAE,cAAc,KAAK,IAAI,CAAC;CACzC,GAAG,OAAO,CAAC,cAAc,CAAC,CAiE1B"}
package/dist/setup.js ADDED
@@ -0,0 +1,92 @@
1
+ import { basename, dirname, isAbsolute, relative, resolve, sep } from "node:path";
2
+ import { mkdir, realpath, stat } from "node:fs/promises";
3
+ import { setTimeout as delay } from "node:timers/promises";
4
+ import { Me2lonAgentApi } from "./api.js";
5
+ import { parseBaseUrl, projectConfigPath, readConfigFile, writeProjectConfig } from "./config.js";
6
+ import { discoverWorkspace } from "./workspace-source.js";
7
+ import { Me2lonClientError } from "./errors.js";
8
+ function stringField(value, key) {
9
+ const field = value[key];
10
+ if (typeof field !== "string" || field.length === 0 || field.length > 4096 || /[\r\n\0]/u.test(field)) {
11
+ throw new Me2lonClientError("ME2LON_API_RESPONSE_INVALID", "The authorization response is incomplete.");
12
+ }
13
+ return field;
14
+ }
15
+ export async function setupProject(options, runtime) {
16
+ const workspace = await discoverWorkspace(options.directory ?? process.cwd());
17
+ const requestedPath = resolve(options.configPath ?? process.env.ME2LON_AGENT_CONFIG ?? projectConfigPath(workspace.root));
18
+ await mkdir(dirname(requestedPath), { recursive: true, mode: 0o700 });
19
+ const configPath = resolve(await realpath(dirname(requestedPath)), basename(requestedPath));
20
+ const relativeConfig = relative(workspace.root, configPath);
21
+ if (!relativeConfig.startsWith(`..${sep}`) && relativeConfig !== ".." && !isAbsolute(relativeConfig)) {
22
+ throw new Me2lonClientError("ME2LON_CONFIG_IN_SOURCE", "Keep the setup configuration outside the uploaded repository.");
23
+ }
24
+ let previous = {};
25
+ try {
26
+ await stat(configPath);
27
+ previous = await readConfigFile(configPath);
28
+ }
29
+ catch (error) {
30
+ if (error.code !== "ENOENT")
31
+ throw error;
32
+ }
33
+ if (previous.workspaceRoot && previous.workspaceRoot !== workspace.root) {
34
+ throw new Me2lonClientError("ME2LON_CONFIG_INVALID", "This configuration belongs to a different local project.");
35
+ }
36
+ const baseUrl = parseBaseUrl(options.baseUrl ?? process.env.ME2LON_AGENT_URL ?? previous.baseUrl ?? "https://me2lon.clarus.me");
37
+ const sameProject = previous.sourceFormat === "snapshot" && previous.baseUrl === baseUrl.origin;
38
+ const api = new Me2lonAgentApi(baseUrl, "", undefined, runtime.fetch);
39
+ const authorization = await api.request("/device-authorization", { method: "POST", body: {
40
+ projectName: options.projectName ?? basename(workspace.root).slice(0, 80),
41
+ ...(sameProject && previous.repositoryId ? { repositoryId: previous.repositoryId } : {}),
42
+ ...(sameProject && previous.credentialId && !options.newCredential ? { credentialId: previous.credentialId } : {}),
43
+ } });
44
+ const deviceCode = stringField(authorization, "deviceCode");
45
+ const userCode = stringField(authorization, "userCode");
46
+ const verificationUri = stringField(authorization, "verificationUri");
47
+ const verificationUrl = new URL(verificationUri);
48
+ parseBaseUrl(verificationUrl.origin);
49
+ if (verificationUrl.pathname !== "/agent-setup" || verificationUrl.searchParams.get("code") !== userCode ||
50
+ [...verificationUrl.searchParams.keys()].some((key) => key !== "code")) {
51
+ throw new Me2lonClientError("ME2LON_API_RESPONSE_INVALID", "The authorization link is invalid.");
52
+ }
53
+ runtime.notify({ status: "authorization_required", verificationUri, userCode,
54
+ message: "Open the link, sign in, and confirm that the displayed code matches. No token needs to be copied." });
55
+ const timeout = Math.min(600, typeof authorization.expiresIn === "number" ? authorization.expiresIn : 600) * 1000;
56
+ const deadline = Date.now() + timeout;
57
+ let interval = 5_000;
58
+ while (Date.now() < deadline) {
59
+ await (runtime.wait ?? delay)(interval);
60
+ const result = await api.request("/device-authorization/token", { method: "POST", body: { deviceCode } });
61
+ if (result.status === "pending")
62
+ continue;
63
+ if (result.status === "slow_down") {
64
+ interval = Math.min(30_000, interval + 5_000);
65
+ continue;
66
+ }
67
+ if (result.status === "denied" || result.status === "expired") {
68
+ throw new Me2lonClientError("ME2LON_AUTHORIZATION_INCOMPLETE", `Authorization ${result.status}; run setup again when ready.`);
69
+ }
70
+ if (result.status !== "authorized" || typeof result.credential !== "object" || result.credential === null) {
71
+ throw new Me2lonClientError("ME2LON_API_RESPONSE_INVALID", "Unknown authorization response.");
72
+ }
73
+ const token = stringField(result, "token");
74
+ if (!/^m2lon_agent_v1_[A-Za-z0-9_-]{43}$/u.test(token))
75
+ throw new Me2lonClientError("ME2LON_API_RESPONSE_INVALID", "Invalid authorization credential.");
76
+ const credentialId = stringField(result.credential, "id");
77
+ const repositoryId = stringField(result, "repositoryId");
78
+ const keepState = sameProject && previous.credentialId === credentialId && previous.repositoryId === repositoryId;
79
+ await writeProjectConfig(configPath, {
80
+ baseUrl: baseUrl.origin, token, workspaceRoot: workspace.root, repositoryId,
81
+ credentialId, sourceFormat: "snapshot",
82
+ ...(keepState && previous.workspaceId ? { workspaceId: previous.workspaceId } : {}),
83
+ ...(keepState && previous.previousRevisionId ? { previousRevisionId: previous.previousRevisionId } : {}),
84
+ });
85
+ return {
86
+ status: "ready", repositoryId, configPath,
87
+ nextCommand: "me2lon analyze --wait",
88
+ };
89
+ }
90
+ throw new Me2lonClientError("ME2LON_AUTHORIZATION_INCOMPLETE", "Authorization expired; run setup again.");
91
+ }
92
+ //# sourceMappingURL=setup.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"setup.js","sourceRoot":"","sources":["../src/setup.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export declare function installSkill(agent?: string, destination?: string, force?: boolean, home?: string): Promise<string>;
2
+ //# sourceMappingURL=skill.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"skill.d.ts","sourceRoot":"","sources":["../src/skill.ts"],"names":[],"mappings":"AAKA,wBAAsB,YAAY,CAAC,KAAK,SAAY,EAAE,WAAW,CAAC,EAAE,MAAM,EAAE,KAAK,UAAQ,EAAE,IAAI,SAAY,GAAG,OAAO,CAAC,MAAM,CAAC,CAgB5H"}
package/dist/skill.js ADDED
@@ -0,0 +1,30 @@
1
+ import { Me2lonClientError } from "./errors.js";
2
+ import { mkdir, readFile, lstat, writeFile } from 'node:fs/promises';
3
+ import { homedir } from 'node:os';
4
+ import { join, resolve } from 'node:path';
5
+ export async function installSkill(agent = 'generic', destination, force = false, home = homedir()) {
6
+ if (!['generic', 'codex', 'claude'].includes(agent))
7
+ throw new Me2lonClientError("ME2LON_CLIENT_INPUT", 'Use --agent generic, codex, or claude, or --path DIRECTORY.');
8
+ const target = destination ? resolve(destination) : join(home, agent === 'claude' ? '.claude' : '.agents', 'skills', 'me2lon');
9
+ const files = await Promise.all(['SKILL.md', 'LICENSE'].map(async (name) => ({ name, text: await readFile(new URL(`../skill/${name}`, import.meta.url), 'utf8') })));
10
+ // Check every destination before changing any file. Never follow destination file symlinks.
11
+ for (const { name, text } of files) {
12
+ const path = join(target, name);
13
+ try {
14
+ const stat = await lstat(path);
15
+ if (!stat.isFile() || stat.isSymbolicLink())
16
+ throw new Me2lonClientError("ME2LON_CLIENT_INPUT", `Refusing non-regular skill file: ${path}`);
17
+ if (!force && await readFile(path, 'utf8') !== text)
18
+ throw new Me2lonClientError("ME2LON_CLIENT_INPUT", `Existing skill differs: ${path}. Use --force to replace it.`);
19
+ }
20
+ catch (error) {
21
+ if (error.code !== 'ENOENT')
22
+ throw error;
23
+ }
24
+ }
25
+ await mkdir(target, { recursive: true });
26
+ for (const { name, text } of files)
27
+ await writeFile(join(target, name), text);
28
+ return target;
29
+ }
30
+ //# sourceMappingURL=skill.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"skill.js","sourceRoot":"","sources":["../src/skill.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AACrE,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAE1C,MAAM,CAAC,KAAK,UAAU,YAAY,CAAC,KAAK,GAAG,SAAS,EAAE,WAAoB,EAAE,KAAK,GAAG,KAAK,EAAE,IAAI,GAAG,OAAO,EAAE;IACzG,IAAI,CAAC,CAAC,SAAS,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC;QAAE,MAAM,IAAI,iBAAiB,CAAC,qBAAqB,EAAE,6DAA6D,CAAC,CAAC;IACvK,MAAM,MAAM,GAAG,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC;IAC/H,MAAM,KAAK,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC,GAAG,CAAC,KAAK,EAAC,IAAI,EAAC,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC,IAAI,GAAG,CAAC,YAAY,IAAI,EAAE,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IACnK,4FAA4F;IAC5F,KAAK,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,KAAK,EAAE,CAAC;QACnC,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;QAChC,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,MAAM,KAAK,CAAC,IAAI,CAAC,CAAC;YAC/B,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,IAAI,CAAC,cAAc,EAAE;gBAAE,MAAM,IAAI,iBAAiB,CAAC,qBAAqB,EAAE,oCAAoC,IAAI,EAAE,CAAC,CAAC;YAC5I,IAAI,CAAC,KAAK,IAAI,MAAM,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,KAAK,IAAI;gBAAE,MAAM,IAAI,iBAAiB,CAAC,qBAAqB,EAAE,2BAA2B,IAAI,8BAA8B,CAAC,CAAC;QACzK,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YAAC,IAAK,KAA+B,CAAC,IAAI,KAAK,QAAQ;gBAAE,MAAM,KAAK,CAAC;QAAC,CAAC;IAC1F,CAAC;IACD,MAAM,KAAK,CAAC,MAAM,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACzC,KAAK,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,KAAK;QAAE,MAAM,SAAS,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,CAAC;IAC9E,OAAO,MAAM,CAAC;AAChB,CAAC"}
@@ -0,0 +1,76 @@
1
+ export declare const SOURCE_SCHEMA_VERSION: "me2lon-agent-source/v1";
2
+ export declare const SNAPSHOT_SCHEMA_VERSION: "me2lon-agent-source/v2";
3
+ export declare const LOCAL_SOURCE_LIMITS: Readonly<{
4
+ maxChanges: 2000;
5
+ maxFileBytes: number;
6
+ maxTotalBytes: number;
7
+ }>;
8
+ export type JsonPrimitive = string | number | boolean | null;
9
+ export type JsonValue = JsonPrimitive | JsonValue[] | {
10
+ [key: string]: JsonValue;
11
+ };
12
+ export type ReplaceChange = {
13
+ operation: "replace";
14
+ path: string;
15
+ content: string;
16
+ };
17
+ export type DeleteChange = {
18
+ operation: "delete";
19
+ path: string;
20
+ };
21
+ export type SourceChange = ReplaceChange | DeleteChange;
22
+ export type SourceLimits = {
23
+ maxChanges: number;
24
+ maxFileBytes: number;
25
+ maxTotalBytes: number;
26
+ };
27
+ export type WorkspaceSource = {
28
+ schemaVersion: typeof SOURCE_SCHEMA_VERSION;
29
+ baseCommitSha: string;
30
+ changes: SourceChange[];
31
+ digest: string;
32
+ replacementCount: number;
33
+ deletionCount: number;
34
+ totalReplacementBytes: number;
35
+ };
36
+ export type BoundWorkspace = {
37
+ root: string;
38
+ repositoryId: string;
39
+ baseCommitSha: string;
40
+ };
41
+ export type AgentRuntimeConfig = {
42
+ baseUrl: URL;
43
+ token: string;
44
+ workspace: BoundWorkspace;
45
+ configPath?: string;
46
+ sourceFormat?: "snapshot";
47
+ credentialId?: string;
48
+ workspaceId?: string;
49
+ previousRevisionId?: string;
50
+ };
51
+ export type ConfigFileShape = {
52
+ baseUrl?: string;
53
+ token?: string;
54
+ workspaceRoot?: string;
55
+ repositoryId?: string;
56
+ baseCommitSha?: string;
57
+ sourceFormat?: "snapshot";
58
+ credentialId?: string;
59
+ workspaceId?: string;
60
+ previousRevisionId?: string;
61
+ };
62
+ export type WorkspaceSnapshot = {
63
+ schemaVersion: typeof SNAPSHOT_SCHEMA_VERSION;
64
+ baseCommitSha: string;
65
+ branchLabel: string | null;
66
+ files: {
67
+ path: string;
68
+ content: string;
69
+ }[];
70
+ digest: string;
71
+ totalReplacementBytes: number;
72
+ };
73
+ export type SafeToolResult = {
74
+ [key: string]: JsonValue;
75
+ };
76
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,qBAAqB,EAAG,wBAAiC,CAAC;AACvE,eAAO,MAAM,uBAAuB,EAAG,wBAAiC,CAAC;AAEzE,eAAO,MAAM,mBAAmB;;;;EAI9B,CAAC;AAEH,MAAM,MAAM,aAAa,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,CAAC;AAC7D,MAAM,MAAM,SAAS,GACjB,aAAa,GACb,SAAS,EAAE,GACX;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,CAAA;CAAE,CAAC;AAEjC,MAAM,MAAM,aAAa,GAAG;IAC1B,SAAS,EAAE,SAAS,CAAC;IACrB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;CACjB,CAAA;AAED,MAAM,MAAM,YAAY,GAAG;IACzB,SAAS,EAAE,QAAQ,CAAC;IACpB,IAAI,EAAE,MAAM,CAAC;CACd,CAAA;AAED,MAAM,MAAM,YAAY,GAAG,aAAa,GAAG,YAAY,CAAC;AAExD,MAAM,MAAM,YAAY,GAAG;IACzB,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,aAAa,EAAE,MAAM,CAAC;CACvB,CAAA;AAED,MAAM,MAAM,eAAe,GAAG;IAC5B,aAAa,EAAE,OAAO,qBAAqB,CAAC;IAC5C,aAAa,EAAE,MAAM,CAAC;IACtB,OAAO,EAAE,YAAY,EAAE,CAAC;IACxB,MAAM,EAAE,MAAM,CAAC;IACf,gBAAgB,EAAE,MAAM,CAAC;IACzB,aAAa,EAAE,MAAM,CAAC;IACtB,qBAAqB,EAAE,MAAM,CAAC;CAC/B,CAAA;AAED,MAAM,MAAM,cAAc,GAAG;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,EAAE,MAAM,CAAC;IACrB,aAAa,EAAE,MAAM,CAAC;CACvB,CAAA;AAED,MAAM,MAAM,kBAAkB,GAAG;IAC/B,OAAO,EAAE,GAAG,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,cAAc,CAAC;IAC1B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,YAAY,CAAC,EAAE,UAAU,CAAC;IAC1B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,kBAAkB,CAAC,EAAE,MAAM,CAAC;CAC7B,CAAA;AAED,MAAM,MAAM,eAAe,GAAG;IAC5B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,YAAY,CAAC,EAAE,UAAU,CAAC;IAC1B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,kBAAkB,CAAC,EAAE,MAAM,CAAC;CAC7B,CAAA;AAED,MAAM,MAAM,iBAAiB,GAAG;IAC9B,aAAa,EAAE,OAAO,uBAAuB,CAAC;IAC9C,aAAa,EAAE,MAAM,CAAC;IACtB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,KAAK,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IAC3C,MAAM,EAAE,MAAM,CAAC;IACf,qBAAqB,EAAE,MAAM,CAAC;CAC/B,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG;IAC3B,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,CAAC;CAC1B,CAAA"}
package/dist/types.js ADDED
@@ -0,0 +1,8 @@
1
+ export const SOURCE_SCHEMA_VERSION = "me2lon-agent-source/v1";
2
+ export const SNAPSHOT_SCHEMA_VERSION = "me2lon-agent-source/v2";
3
+ export const LOCAL_SOURCE_LIMITS = Object.freeze({
4
+ maxChanges: 2_000,
5
+ maxFileBytes: 1024 * 1024,
6
+ maxTotalBytes: 8 * 1024 * 1024,
7
+ });
8
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,qBAAqB,GAAG,wBAAiC,CAAC;AACvE,MAAM,CAAC,MAAM,uBAAuB,GAAG,wBAAiC,CAAC;AAEzE,MAAM,CAAC,MAAM,mBAAmB,GAAG,MAAM,CAAC,MAAM,CAAC;IAC/C,UAAU,EAAE,KAAK;IACjB,YAAY,EAAE,IAAI,GAAG,IAAI;IACzB,aAAa,EAAE,CAAC,GAAG,IAAI,GAAG,IAAI;CAC/B,CAAC,CAAC"}
@@ -0,0 +1,11 @@
1
+ import { type WorkspaceSnapshot, type BoundWorkspace, type SourceLimits, type WorkspaceSource } from "./types.js";
2
+ export declare function discoverWorkspace(directory: string): Promise<{
3
+ root: string;
4
+ head: string;
5
+ branch: string | null;
6
+ }>;
7
+ /** Capture every supported Git-visible file, and verify the complete capture twice. */
8
+ export declare function buildWorkspaceSnapshot(workspace: BoundWorkspace, limits?: SourceLimits): Promise<WorkspaceSnapshot>;
9
+ export declare function bindWorkspace(requestedRoot: string, repositoryId: string, requestedBaseCommit: string): Promise<BoundWorkspace>;
10
+ export declare function buildWorkspaceSource(workspace: BoundWorkspace, limits?: SourceLimits): Promise<WorkspaceSource>;
11
+ //# sourceMappingURL=workspace-source.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"workspace-source.d.ts","sourceRoot":"","sources":["../src/workspace-source.ts"],"names":[],"mappings":"AAOA,OAAO,EAIL,KAAK,iBAAiB,EACtB,KAAK,cAAc,EAEnB,KAAK,YAAY,EACjB,KAAK,eAAe,EACrB,MAAM,YAAY,CAAC;AAmEpB,wBAAsB,iBAAiB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,CAAC,CAMzH;AAkCD,uFAAuF;AACvF,wBAAsB,sBAAsB,CAAC,SAAS,EAAE,cAAc,EAAE,MAAM,GAAE,YAAkC,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAmC9I;AAkLD,wBAAsB,aAAa,CACjC,aAAa,EAAE,MAAM,EACrB,YAAY,EAAE,MAAM,EACpB,mBAAmB,EAAE,MAAM,GAC1B,OAAO,CAAC,cAAc,CAAC,CA8CzB;AAED,wBAAsB,oBAAoB,CACxC,SAAS,EAAE,cAAc,EACzB,MAAM,GAAE,YAAkC,GACzC,OAAO,CAAC,eAAe,CAAC,CAqI1B"}