@agentsean/adapter-git 1.0.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/LICENSE +661 -0
- package/dist/adapter.d.ts +13 -0
- package/dist/adapter.d.ts.map +1 -0
- package/dist/adapter.js +200 -0
- package/dist/adapter.js.map +1 -0
- package/dist/ci-gate.d.ts +27 -0
- package/dist/ci-gate.d.ts.map +1 -0
- package/dist/ci-gate.js +48 -0
- package/dist/ci-gate.js.map +1 -0
- package/dist/git.d.ts +18 -0
- package/dist/git.d.ts.map +1 -0
- package/dist/git.js +97 -0
- package/dist/git.js.map +1 -0
- package/dist/github.d.ts +13 -0
- package/dist/github.d.ts.map +1 -0
- package/dist/github.js +27 -0
- package/dist/github.js.map +1 -0
- package/dist/index.d.ts +7 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +7 -0
- package/dist/index.js.map +1 -0
- package/dist/resolve.d.ts +3 -0
- package/dist/resolve.d.ts.map +1 -0
- package/dist/resolve.js +108 -0
- package/dist/resolve.js.map +1 -0
- package/dist/rewrite.d.ts +16 -0
- package/dist/rewrite.d.ts.map +1 -0
- package/dist/rewrite.js +75 -0
- package/dist/rewrite.js.map +1 -0
- package/package.json +50 -0
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
export declare function rewriteTitle(source: string, next: string): {
|
|
2
|
+
ok: true;
|
|
3
|
+
after: string;
|
|
4
|
+
} | {
|
|
5
|
+
ok: false;
|
|
6
|
+
error: string;
|
|
7
|
+
};
|
|
8
|
+
export declare function rewriteBody(source: string, next: string): {
|
|
9
|
+
ok: true;
|
|
10
|
+
after: string;
|
|
11
|
+
} | {
|
|
12
|
+
ok: false;
|
|
13
|
+
error: string;
|
|
14
|
+
};
|
|
15
|
+
export declare function titleInSource(source: string): string | null;
|
|
16
|
+
//# sourceMappingURL=rewrite.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"rewrite.d.ts","sourceRoot":"","sources":["../src/rewrite.ts"],"names":[],"mappings":"AAkBA,wBAAgB,YAAY,CAC1B,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,MAAM,GACX;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GAAG;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAoB5D;AAED,wBAAgB,WAAW,CACzB,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,MAAM,GACX;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GAAG;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CA2B5D;AAOD,wBAAgB,aAAa,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAQ3D"}
|
package/dist/rewrite.js
ADDED
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
const TITLE_PATTERNS = [
|
|
2
|
+
{
|
|
3
|
+
re: /title:\s*\{[^{}]*default:\s*(["'`])([\s\S]*?)\1/,
|
|
4
|
+
wrap: (title, m) => m[0].replace(m[2], title),
|
|
5
|
+
},
|
|
6
|
+
{
|
|
7
|
+
re: /(<title[^>]*>)([\s\S]*?)(<\/title>)/i,
|
|
8
|
+
wrap: (title, m) => `${m[1]}${title}${m[3]}`,
|
|
9
|
+
},
|
|
10
|
+
{
|
|
11
|
+
re: /title:\s*(["'`])([\s\S]*?)\1/,
|
|
12
|
+
wrap: (title, m) => `title: ${m[1]}${title}${m[1]}`,
|
|
13
|
+
},
|
|
14
|
+
];
|
|
15
|
+
export function rewriteTitle(source, next) {
|
|
16
|
+
for (const p of TITLE_PATTERNS) {
|
|
17
|
+
p.re.lastIndex = 0;
|
|
18
|
+
const m = p.re.exec(source);
|
|
19
|
+
if (m) {
|
|
20
|
+
const after = source.slice(0, m.index) +
|
|
21
|
+
p.wrap(next, m) +
|
|
22
|
+
source.slice(m.index + m[0].length);
|
|
23
|
+
return { ok: true, after };
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
if (/export const metadata/.test(source)) {
|
|
27
|
+
const after = source.replace(/export const metadata\s*=\s*\{/, `export const metadata = {\n title: ${JSON.stringify(next)},`);
|
|
28
|
+
if (after !== source)
|
|
29
|
+
return { ok: true, after };
|
|
30
|
+
}
|
|
31
|
+
return { ok: false, error: "no title field found in file" };
|
|
32
|
+
}
|
|
33
|
+
export function rewriteBody(source, next) {
|
|
34
|
+
const fm = source.match(/^---\r?\n[\s\S]*?\r?\n---\r?\n?/);
|
|
35
|
+
if (fm) {
|
|
36
|
+
return { ok: true, after: fm[0] + next.replace(/^\n/, "") };
|
|
37
|
+
}
|
|
38
|
+
const main = /(<main[^>]*>)([\s\S]*?)(<\/main>)/i.exec(source);
|
|
39
|
+
if (main && main.index !== undefined) {
|
|
40
|
+
const inner = markdownToHtml(next);
|
|
41
|
+
const after = source.slice(0, main.index) +
|
|
42
|
+
`${main[1]}${inner}${main[3]}` +
|
|
43
|
+
source.slice(main.index + main[0].length);
|
|
44
|
+
return { ok: true, after };
|
|
45
|
+
}
|
|
46
|
+
const article = /(<article[^>]*>)([\s\S]*?)(<\/article>)/i.exec(source);
|
|
47
|
+
if (article && article.index !== undefined) {
|
|
48
|
+
const inner = markdownToHtml(next);
|
|
49
|
+
const after = source.slice(0, article.index) +
|
|
50
|
+
`${article[1]}${inner}${article[3]}` +
|
|
51
|
+
source.slice(article.index + article[0].length);
|
|
52
|
+
return { ok: true, after };
|
|
53
|
+
}
|
|
54
|
+
if (/^#\s+/m.test(source) || source.trim().length < 40) {
|
|
55
|
+
return { ok: true, after: next };
|
|
56
|
+
}
|
|
57
|
+
return { ok: true, after: next };
|
|
58
|
+
}
|
|
59
|
+
function markdownToHtml(md) {
|
|
60
|
+
const escaped = md.replace(/&/g, "&").replace(/</g, "<").replace(/>/g, ">");
|
|
61
|
+
return `\n${escaped}\n`;
|
|
62
|
+
}
|
|
63
|
+
export function titleInSource(source) {
|
|
64
|
+
const html = /<title[^>]*>([\s\S]*?)<\/title>/i.exec(source);
|
|
65
|
+
if (html?.[1])
|
|
66
|
+
return html[1].trim();
|
|
67
|
+
const def = /title:\s*\{[^{}]*default:\s*(["'`])([\s\S]*?)\1/.exec(source);
|
|
68
|
+
if (def?.[2])
|
|
69
|
+
return def[2];
|
|
70
|
+
const simple = /title:\s*(["'`])([\s\S]*?)\1/.exec(source);
|
|
71
|
+
if (simple?.[2])
|
|
72
|
+
return simple[2];
|
|
73
|
+
return null;
|
|
74
|
+
}
|
|
75
|
+
//# sourceMappingURL=rewrite.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"rewrite.js","sourceRoot":"","sources":["../src/rewrite.ts"],"names":[],"mappings":"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"}
|
package/package.json
ADDED
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@agentsean/adapter-git",
|
|
3
|
+
"version": "1.0.0",
|
|
4
|
+
"license": "AGPL-3.0-only",
|
|
5
|
+
"type": "module",
|
|
6
|
+
"exports": {
|
|
7
|
+
".": {
|
|
8
|
+
"types": "./dist/index.d.ts",
|
|
9
|
+
"import": "./dist/index.js"
|
|
10
|
+
}
|
|
11
|
+
},
|
|
12
|
+
"files": [
|
|
13
|
+
"dist"
|
|
14
|
+
],
|
|
15
|
+
"engines": {
|
|
16
|
+
"node": ">=22.19.0"
|
|
17
|
+
},
|
|
18
|
+
"dependencies": {
|
|
19
|
+
"@agentsean/actions": "1.0.0"
|
|
20
|
+
},
|
|
21
|
+
"devDependencies": {
|
|
22
|
+
"typescript": "~5.9.3",
|
|
23
|
+
"vitest": "^4.1.11"
|
|
24
|
+
},
|
|
25
|
+
"publishConfig": {
|
|
26
|
+
"access": "public"
|
|
27
|
+
},
|
|
28
|
+
"repository": {
|
|
29
|
+
"type": "git",
|
|
30
|
+
"url": "git+https://github.com/seziro-team/agentsean.git",
|
|
31
|
+
"directory": "packages/adapters/git"
|
|
32
|
+
},
|
|
33
|
+
"homepage": "https://github.com/seziro-team/agentsean#readme",
|
|
34
|
+
"bugs": {
|
|
35
|
+
"url": "https://github.com/seziro-team/agentsean/issues"
|
|
36
|
+
},
|
|
37
|
+
"author": "Seziro (https://seziro.com)",
|
|
38
|
+
"description": "Agent Sean — adapter-git module",
|
|
39
|
+
"keywords": [
|
|
40
|
+
"seo",
|
|
41
|
+
"agent",
|
|
42
|
+
"agentsean",
|
|
43
|
+
"seo-automation"
|
|
44
|
+
],
|
|
45
|
+
"scripts": {
|
|
46
|
+
"build": "tsc -p tsconfig.json",
|
|
47
|
+
"typecheck": "tsc -p tsconfig.json --noEmit",
|
|
48
|
+
"test": "vitest run --config ../../vitest.config.ts"
|
|
49
|
+
}
|
|
50
|
+
}
|