@openagt/dashboard 0.19.0 → 0.21.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/README.md +6 -2
- package/dist/bin.js +0 -0
- package/dist/built-in.d.ts +7 -6
- package/dist/built-in.d.ts.map +1 -1
- package/dist/built-in.js +28 -9
- package/dist/built-in.js.map +1 -1
- package/dist/daemon.d.ts +2 -0
- package/dist/daemon.d.ts.map +1 -1
- package/dist/daemon.js +3 -0
- package/dist/daemon.js.map +1 -1
- package/dist/dashboard/person.d.ts +22 -0
- package/dist/dashboard/person.d.ts.map +1 -0
- package/dist/dashboard/person.js +29 -0
- package/dist/dashboard/person.js.map +1 -0
- package/dist/dashboard/send-skills.d.ts +51 -0
- package/dist/dashboard/send-skills.d.ts.map +1 -0
- package/dist/dashboard/send-skills.js +122 -0
- package/dist/dashboard/send-skills.js.map +1 -0
- package/dist/dashboard-bundle/assets/astro-BZ97kZFP.js +1 -0
- package/dist/dashboard-bundle/assets/c-DWGmR78Y.js +1 -0
- package/dist/dashboard-bundle/assets/c-SSSlmE39.js +1 -0
- package/dist/dashboard-bundle/assets/core-Db3h5Pv3.js +12 -0
- package/dist/dashboard-bundle/assets/cpp-CJIxL8VH.js +1 -0
- package/dist/dashboard-bundle/assets/cpp-Cts1PyIS.js +1 -0
- package/dist/dashboard-bundle/assets/csharp-dmMxLVLW.js +1 -0
- package/dist/dashboard-bundle/assets/css-BGIxQoYs.js +1 -0
- package/dist/dashboard-bundle/assets/css-DUjzNfgv.js +1 -0
- package/dist/dashboard-bundle/assets/diff-woXpYk--.js +1 -0
- package/dist/dashboard-bundle/assets/docker-IyjqRm3v.js +1 -0
- package/dist/dashboard-bundle/assets/dotenv-CuH5my32.js +1 -0
- package/dist/dashboard-bundle/assets/engine-javascript-DbNy5Fxf.js +141 -0
- package/dist/dashboard-bundle/assets/everforest-dark-sB-x3p7T.js +1 -0
- package/dist/dashboard-bundle/assets/everforest-light-Df2xbC6M.js +1 -0
- package/dist/dashboard-bundle/assets/fish-BJitypiv.js +1 -0
- package/dist/dashboard-bundle/assets/go-rLFTqkRN.js +1 -0
- package/dist/dashboard-bundle/assets/graphql-DAzSVzvB.js +1 -0
- package/dist/dashboard-bundle/assets/graphql-DEIChqxY.js +1 -0
- package/dist/dashboard-bundle/assets/html-DSw1lh5G.js +1 -0
- package/dist/dashboard-bundle/assets/html-WQKKblVZ.js +1 -0
- package/dist/dashboard-bundle/assets/ini-B5eOa1yu.js +1 -0
- package/dist/dashboard-bundle/assets/java-BtIQNnN0.js +1 -0
- package/dist/dashboard-bundle/assets/java-DxlWrXwe.js +1 -0
- package/dist/dashboard-bundle/assets/javascript-BzbQS41l.js +1 -0
- package/dist/dashboard-bundle/assets/javascript-Yelw-5ZN.js +1 -0
- package/dist/dashboard-bundle/assets/json-B88Oqtu5.js +1 -0
- package/dist/dashboard-bundle/assets/json-CaljABEy.js +1 -0
- package/dist/dashboard-bundle/assets/json5-BR5RXkoi.js +1 -0
- package/dist/dashboard-bundle/assets/jsonc-CYpm1nAK.js +1 -0
- package/dist/dashboard-bundle/assets/jsx-D3KKoC5L.js +1 -0
- package/dist/dashboard-bundle/assets/jsx-hEbJ82HF.js +1 -0
- package/dist/dashboard-bundle/assets/kotlin-DhhofPvG.js +1 -0
- package/dist/dashboard-bundle/assets/less-DVTAwKKz.js +1 -0
- package/dist/dashboard-bundle/assets/lua-BJObVtAx.js +1 -0
- package/dist/dashboard-bundle/assets/lua-DjuecEsk.js +1 -0
- package/dist/dashboard-bundle/assets/main-C4Wudnox.css +2 -0
- package/dist/dashboard-bundle/assets/main-CSvx3dGb.js +141 -0
- package/dist/dashboard-bundle/assets/make-Dixweg8N.js +1 -0
- package/dist/dashboard-bundle/assets/markdown-BYOwaDjH.js +1 -0
- package/dist/dashboard-bundle/assets/mdx-DQZ5AkYe.js +1 -0
- package/dist/dashboard-bundle/assets/module-BidWGbHQ.js +25 -0
- package/dist/dashboard-bundle/assets/php-D7kNSOJl.js +1 -0
- package/dist/dashboard-bundle/assets/postcss-D_Wz94rJ.js +1 -0
- package/dist/dashboard-bundle/assets/powershell-QtSnmXcu.js +1 -0
- package/dist/dashboard-bundle/assets/prisma-DMgNhnYS.js +1 -0
- package/dist/dashboard-bundle/assets/proto-DB4EqR-F.js +1 -0
- package/dist/dashboard-bundle/assets/python-gzcpVVnB.js +1 -0
- package/dist/dashboard-bundle/assets/ruby-DjBfgIB7.js +1 -0
- package/dist/dashboard-bundle/assets/rust-DpiIf5JO.js +1 -0
- package/dist/dashboard-bundle/assets/sass-DXrisJhu.js +1 -0
- package/dist/dashboard-bundle/assets/scss-8bKmll0B.js +1 -0
- package/dist/dashboard-bundle/assets/shellscript-BiGZg9Om.js +1 -0
- package/dist/dashboard-bundle/assets/shellscript-CqHdAlCp.js +1 -0
- package/dist/dashboard-bundle/assets/sql-BOsskAmu.js +1 -0
- package/dist/dashboard-bundle/assets/sql-CNu3Or2W.js +1 -0
- package/dist/dashboard-bundle/assets/svelte-CdeT-Ich.js +1 -0
- package/dist/dashboard-bundle/assets/swift-CyEgAFGc.js +1 -0
- package/dist/dashboard-bundle/assets/toml-CcmNWLt0.js +1 -0
- package/dist/dashboard-bundle/assets/tsx-5f3ulCja.js +1 -0
- package/dist/dashboard-bundle/assets/tsx-BOvsFOI6.js +1 -0
- package/dist/dashboard-bundle/assets/typescript-Utq2Cl8c.js +1 -0
- package/dist/dashboard-bundle/assets/typescript-j_1H8WHN.js +1 -0
- package/dist/dashboard-bundle/assets/vue-BqdMUtqy.js +1 -0
- package/dist/dashboard-bundle/assets/xml-CoDIzWF0.js +1 -0
- package/dist/dashboard-bundle/assets/xml-WY0zc4PG.js +1 -0
- package/dist/dashboard-bundle/assets/yaml-CxbubiML.js +1 -0
- package/dist/dashboard-bundle/assets/yaml-DijMHRDA.js +1 -0
- package/dist/dashboard-bundle/host/module.js +1 -1
- package/dist/dashboard-bundle/index.html +3 -3
- package/dist/dashboard-rpc/index.d.ts +2 -1
- package/dist/dashboard-rpc/index.d.ts.map +1 -1
- package/dist/dashboard-rpc/index.js +4 -2
- package/dist/dashboard-rpc/index.js.map +1 -1
- package/dist/dashboard-rpc/person.d.ts +5 -0
- package/dist/dashboard-rpc/person.d.ts.map +1 -0
- package/dist/dashboard-rpc/person.js +12 -0
- package/dist/dashboard-rpc/person.js.map +1 -0
- package/dist/dashboard-rpc/skills.d.ts +22 -19
- package/dist/dashboard-rpc/skills.d.ts.map +1 -1
- package/dist/dashboard-rpc/skills.js +38 -10
- package/dist/dashboard-rpc/skills.js.map +1 -1
- package/dist/module-types/dashboard/components/DriverModelMenu.d.ts +11 -1
- package/dist/module-types/dashboard/components/FileIcon.d.ts +2 -1
- package/dist/module-types/dashboard/components/file-icons.generated.d.ts +6 -0
- package/dist/module-types/dashboard/components/ui/row-item.d.ts +9 -0
- package/dist/module-types/dashboard/lib/effort.d.ts +1 -0
- package/dist/module-types/dashboard/lib/highlight.d.ts +16 -0
- package/dist/module-types/dashboard/lib/use-narrow.d.ts +6 -0
- package/dist/module-types/dashboard/module/index.d.ts +2 -0
- package/dist/module-types/src/built-in.d.ts +7 -6
- package/dist/module-types/src/dashboard/person.d.ts +21 -0
- package/dist/module-types/src/dashboard/send-skills.d.ts +50 -0
- package/dist/module-types/src/dashboard-rpc/index.d.ts +2 -1
- package/dist/module-types/src/dashboard-rpc/person.d.ts +4 -0
- package/dist/module-types/src/dashboard-rpc/skills.d.ts +22 -19
- package/dist/module-types/src/store/git-host.d.ts +11 -1
- package/dist/module-types/src/version.d.ts +1 -0
- package/dist/module.css +4 -4
- package/dist/serve.d.ts +2 -0
- package/dist/serve.d.ts.map +1 -0
- package/dist/serve.js +5 -0
- package/dist/serve.js.map +1 -0
- package/dist/store/git-host.d.ts +11 -1
- package/dist/store/git-host.d.ts.map +1 -1
- package/dist/store/git-host.js +14 -0
- package/dist/store/git-host.js.map +1 -1
- package/dist/version.d.ts +1 -0
- package/dist/version.d.ts.map +1 -1
- package/dist/version.js +9 -21
- package/dist/version.js.map +1 -1
- package/package.json +18 -16
- package/dist/dashboard-bundle/assets/main-D_Zblh1r.css +0 -2
- package/dist/dashboard-bundle/assets/main-DjPcbCa9.js +0 -141
- package/dist/dashboard-bundle/assets/module-D4-RTmfM.js +0 -24
package/README.md
CHANGED
|
@@ -8,13 +8,17 @@ checkout of the repo, does its work, and hands the result off as a pull request.
|
|
|
8
8
|
checkout is never touched.
|
|
9
9
|
|
|
10
10
|
```bash
|
|
11
|
-
npm i -g @openagt/
|
|
11
|
+
npm i -g @openagt/start
|
|
12
12
|
|
|
13
13
|
cd ~/code/my-repo
|
|
14
14
|
openagent # serves the dashboard at http://127.0.0.1:4200
|
|
15
15
|
```
|
|
16
16
|
|
|
17
|
-
|
|
17
|
+
This package is the dashboard itself: the server and its pages, with no command of its own.
|
|
18
|
+
OpenAgent is run as `@openagt/start`, which serves it and hands every run the skills it gets by
|
|
19
|
+
default.
|
|
20
|
+
|
|
21
|
+
## The command is three options and no verbs
|
|
18
22
|
|
|
19
23
|
```
|
|
20
24
|
openagent Serve the dashboard in the foreground. Ctrl+C closes it; the
|
package/dist/bin.js
CHANGED
|
File without changes
|
package/dist/built-in.d.ts
CHANGED
|
@@ -18,12 +18,13 @@ export declare const BUILT_IN_PACKAGES: readonly string[];
|
|
|
18
18
|
*/
|
|
19
19
|
export declare const COMPUTER_PACKAGES: readonly string[];
|
|
20
20
|
/**
|
|
21
|
-
* The packages a project has once it picked them (#2023). A skill's package is
|
|
22
|
-
* when the
|
|
23
|
-
*
|
|
24
|
-
*
|
|
25
|
-
*
|
|
26
|
-
*
|
|
21
|
+
* The packages a project has once it picked them (#2023). A skill's package is every project's
|
|
22
|
+
* when the skill is one every run gets by default (the package that started OpenAgent names those,
|
|
23
|
+
* {@link SKILLS_ENV}); else the project's when the project holds the skill's text where the coding
|
|
24
|
+
* agents read it (`.claude/skills/<name>/SKILL.md`, `.agents/skills/<name>/SKILL.md`): the rule
|
|
25
|
+
* the launcher already lists a project's commands by, so deleting the skill's folder takes its
|
|
26
|
+
* page away. A tool with no skill text (the scheduler) is the project's when one of the project's
|
|
27
|
+
* hook lines runs it.
|
|
27
28
|
*/
|
|
28
29
|
export declare const PICKED_PACKAGES: readonly string[];
|
|
29
30
|
/** Every name OpenAgent brings itself. */
|
package/dist/built-in.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"built-in.d.ts","sourceRoot":"","sources":["../src/built-in.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAA;AAGzD,OAAO,
|
|
1
|
+
{"version":3,"file":"built-in.d.ts","sourceRoot":"","sources":["../src/built-in.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAA;AAGzD,OAAO,EAAyH,KAAK,cAAc,EAAE,KAAK,eAAe,EAAE,KAAK,qBAAqB,EAAE,MAAM,qBAAqB,CAAA;AAElO;;;;;;;;GAQG;AAEH,4GAA4G;AAC5G,eAAO,MAAM,iBAAiB,EAAE,SAAS,MAAM,EAA+I,CAAA;AAE9L;;;;GAIG;AACH,eAAO,MAAM,iBAAiB,EAAE,SAAS,MAAM,EAAmD,CAAA;AAElG;;;;;;;;GAQG;AACH,eAAO,MAAM,eAAe,EAAE,SAAS,MAAM,EAA6I,CAAA;AAE1L,0CAA0C;AAC1C,eAAO,MAAM,iBAAiB,EAAE,SAAS,MAAM,EAAqE,CAAA;AAYpH,iHAAiH;AACjH,wBAAgB,eAAe,IAAI,OAAO,CAAC,cAAc,EAAE,CAAC,CAE3D;AAsBD;;;;;GAKG;AACH,wBAAsB,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC,CAW/E;AAwCD,oFAAoF;AACpF,wBAAsB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC,CAEzE;AAED,4EAA4E;AAC5E,wBAAsB,gBAAgB,IAAI,OAAO,CAAC,cAAc,EAAE,CAAC,CAElE;AAED;;;;;GAKG;AACH,wBAAsB,eAAe,IAAI,OAAO,CAAC,eAAe,EAAE,CAAC,CAElE;AAED,0IAA0I;AAC1I,wBAAsB,cAAc,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC,CAMxD;AAED,wIAAwI;AACxI,wBAAsB,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,qBAAqB,CAAC,CAE/F;AAED,gFAAgF;AAChF,wBAAsB,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,GAAG,SAAS,CAAC,CAEtG;AAED,gGAAgG;AAChG,wBAAgB,SAAS,CAAC,OAAO,EAAE,eAAe,GAAG,OAAO,CAE3D;AAED;;;;;;GAMG;AACH,wBAAsB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAQpE;AAED;;;;;;;GAOG;AACH,wBAAsB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC,CAkBtE"}
|
package/dist/built-in.js
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { readFile, realpath, stat } from 'node:fs/promises';
|
|
2
2
|
import { createRequire } from 'node:module';
|
|
3
|
-
import { dirname, join } from 'node:path';
|
|
3
|
+
import { delimiter, dirname, join } from 'node:path';
|
|
4
4
|
import { SKILLS_DIRS } from './project-commands.js';
|
|
5
5
|
import { readProjectHooks } from './project-hooks.js';
|
|
6
|
-
import { declaring, lineRuns, lookupProvidedCommand, packageBins, projectPackages, readManifest, runPackageCommand } from '@openagt/agent-data';
|
|
6
|
+
import { declaring, lineRuns, SKILLS_ENV, lookupProvidedCommand, packageBins, projectPackages, readManifest, runPackageCommand } from '@openagt/agent-data';
|
|
7
7
|
/**
|
|
8
8
|
* The packages OpenAgent brings, by name: dependencies of OpenAgent itself, resolved from its
|
|
9
9
|
* own install, so a project installs nothing for them and an empty folder starts an agent and
|
|
@@ -22,12 +22,13 @@ export const BUILT_IN_PACKAGES = ['@openagt/changes', '@openagt/files', '@openag
|
|
|
22
22
|
*/
|
|
23
23
|
export const COMPUTER_PACKAGES = ['@openagt/remote-access', '@openagt/servers'];
|
|
24
24
|
/**
|
|
25
|
-
* The packages a project has once it picked them (#2023). A skill's package is
|
|
26
|
-
* when the
|
|
27
|
-
*
|
|
28
|
-
*
|
|
29
|
-
*
|
|
30
|
-
*
|
|
25
|
+
* The packages a project has once it picked them (#2023). A skill's package is every project's
|
|
26
|
+
* when the skill is one every run gets by default (the package that started OpenAgent names those,
|
|
27
|
+
* {@link SKILLS_ENV}); else the project's when the project holds the skill's text where the coding
|
|
28
|
+
* agents read it (`.claude/skills/<name>/SKILL.md`, `.agents/skills/<name>/SKILL.md`): the rule
|
|
29
|
+
* the launcher already lists a project's commands by, so deleting the skill's folder takes its
|
|
30
|
+
* page away. A tool with no skill text (the scheduler) is the project's when one of the project's
|
|
31
|
+
* hook lines runs it.
|
|
31
32
|
*/
|
|
32
33
|
export const PICKED_PACKAGES = ['@openagt/skill-tickets', '@openagt/skill-queue', '@openagt/skill-orchestration', '@openagt/skill-browser', '@openagt/agent-scheduler'];
|
|
33
34
|
/** Every name OpenAgent brings itself. */
|
|
@@ -70,7 +71,7 @@ export async function builtInPackagesOf(root) {
|
|
|
70
71
|
for (const pkg of await (resolved ??= resolveOwn())) {
|
|
71
72
|
if (pkg.of === 'the computer')
|
|
72
73
|
continue;
|
|
73
|
-
if (pkg.of === 'a pick') {
|
|
74
|
+
if (pkg.of === 'a pick' && !(await defaultSkills()).has(pkg.name)) {
|
|
74
75
|
if (pkg.skill !== undefined ? !(await holdsSkill(root, pkg.skill)) : !runsOneOf((lines ??= await hookLines(root)), pkg))
|
|
75
76
|
continue;
|
|
76
77
|
}
|
|
@@ -78,6 +79,24 @@ export async function builtInPackagesOf(root) {
|
|
|
78
79
|
}
|
|
79
80
|
return packages;
|
|
80
81
|
}
|
|
82
|
+
/** The default skills as read last, by the value they were read off. */
|
|
83
|
+
let defaults;
|
|
84
|
+
/** The names of the packages of the skills every run gets by default: see {@link SKILLS_ENV}. */
|
|
85
|
+
function defaultSkills() {
|
|
86
|
+
const from = process.env[SKILLS_ENV] ?? '';
|
|
87
|
+
if (defaults?.from !== from)
|
|
88
|
+
defaults = { from, names: readDefaultSkills(from) };
|
|
89
|
+
return defaults.names;
|
|
90
|
+
}
|
|
91
|
+
async function readDefaultSkills(from) {
|
|
92
|
+
const names = new Set();
|
|
93
|
+
for (const dir of from.split(delimiter).filter(Boolean)) {
|
|
94
|
+
const name = (await readManifest(join(dir, 'package.json')))?.name;
|
|
95
|
+
if (typeof name === 'string')
|
|
96
|
+
names.add(name);
|
|
97
|
+
}
|
|
98
|
+
return names;
|
|
99
|
+
}
|
|
81
100
|
/** Whether the project holds the text of the skill `name`, in one of the folders the coding agents read. */
|
|
82
101
|
async function holdsSkill(root, name) {
|
|
83
102
|
for (const dir of SKILLS_DIRS)
|
package/dist/built-in.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"built-in.js","sourceRoot":"","sources":["../src/built-in.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAA;AAC3D,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;AAC3C,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;
|
|
1
|
+
{"version":3,"file":"built-in.js","sourceRoot":"","sources":["../src/built-in.ts"],"names":[],"mappings":"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"}
|
package/dist/daemon.d.ts
CHANGED
|
@@ -37,6 +37,8 @@ export interface RunDaemonOptions {
|
|
|
37
37
|
signal?: AbortSignal;
|
|
38
38
|
/** Env the registry is read from. Default `process.env`; injectable for tests. */
|
|
39
39
|
env?: NodeJS.ProcessEnv;
|
|
40
|
+
/** OpenAgent's version, as the package that started it says: what this computer tells its machines and a phone. `unknown` when unsaid. */
|
|
41
|
+
version?: string;
|
|
40
42
|
/** Called once the server has bound, before it blocks. The only way a caller learns the port. */
|
|
41
43
|
onListening?: (state: DaemonState) => void;
|
|
42
44
|
/** How the bridge browser is launched (#1332); default the real Chrome for Testing. For tests. */
|
package/dist/daemon.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"daemon.d.ts","sourceRoot":"","sources":["../src/daemon.ts"],"names":[],"mappings":"AAcA,OAAO,EAA4D,KAAK,aAAa,EAAE,KAAK,oBAAoB,EAAE,MAAM,qBAAqB,CAAA;AAG7I,OAAO,EAAsC,KAAK,eAAe,EAAE,KAAK,sBAAsB,EAAE,MAAM,uBAAuB,CAAA;
|
|
1
|
+
{"version":3,"file":"daemon.d.ts","sourceRoot":"","sources":["../src/daemon.ts"],"names":[],"mappings":"AAcA,OAAO,EAA4D,KAAK,aAAa,EAAE,KAAK,oBAAoB,EAAE,MAAM,qBAAqB,CAAA;AAG7I,OAAO,EAAsC,KAAK,eAAe,EAAE,KAAK,sBAAsB,EAAE,MAAM,uBAAuB,CAAA;AAK7H;;;;;;;;;;;;GAYG;AAEH,mDAAmD;AACnD,eAAO,MAAM,mBAAmB,OAAO,CAAA;AAEvC,qFAAqF;AACrF,MAAM,WAAW,WAAW;IAC1B,6BAA6B;IAC7B,GAAG,EAAE,MAAM,CAAA;IACX,0CAA0C;IAC1C,IAAI,EAAE,MAAM,CAAA;IACZ,uBAAuB;IACvB,GAAG,EAAE,MAAM,CAAA;IACX,wCAAwC;IACxC,SAAS,EAAE,MAAM,CAAA;CAClB;AAOD;kGACkG;AAClG,OAAO,EAAE,UAAU,IAAI,cAAc,EAAE,MAAM,kBAAkB,CAAA;AAE/D,qCAAqC;AACrC,MAAM,WAAW,gBAAgB;IAC/B,yFAAyF;IACzF,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,wFAAwF;IACxF,MAAM,CAAC,EAAE,WAAW,CAAA;IACpB,kFAAkF;IAClF,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAA;IACvB,0IAA0I;IAC1I,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,iGAAiG;IACjG,WAAW,CAAC,EAAE,CAAC,KAAK,EAAE,WAAW,KAAK,IAAI,CAAA;IAC1C,kGAAkG;IAClG,aAAa,CAAC,EAAE,CAAC,IAAI,EAAE,oBAAoB,KAAK,OAAO,CAAC,aAAa,CAAC,CAAA;IACtE,4GAA4G;IAC5G,eAAe,CAAC,EAAE,CAAC,IAAI,EAAE,sBAAsB,KAAK,eAAe,CAAA;CACpE;AAED;;;;;GAKG;AACH,wBAAsB,SAAS,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,GAAE,gBAAqB,GAAG,OAAO,CAAC,IAAI,CAAC,CAgIvF"}
|
package/dist/daemon.js
CHANGED
|
@@ -17,6 +17,7 @@ import { runProjectHooks } from './project-hooks.js';
|
|
|
17
17
|
import { builtInServices } from './built-in.js';
|
|
18
18
|
import { COMPUTER_ENV, startPackageServices } from './package-services.js';
|
|
19
19
|
import { readAllAgents } from './store/index.js';
|
|
20
|
+
import { setOpenagentVersion } from './version.js';
|
|
20
21
|
/**
|
|
21
22
|
* The dashboard process (#302). It is a pure projection of files: a run's tool keeps the run's
|
|
22
23
|
* card and diary in the run's checkout, and the dashboard *tails* them, pushing each new line to
|
|
@@ -48,6 +49,8 @@ export { isPidAlive as isProcessAlive } from './store/index.js';
|
|
|
48
49
|
export async function runDaemon(cwd, opts = {}) {
|
|
49
50
|
const port = opts.port ?? DEFAULT_DAEMON_PORT;
|
|
50
51
|
const env = opts.env ?? process.env;
|
|
52
|
+
if (opts.version !== undefined)
|
|
53
|
+
setOpenagentVersion(opts.version);
|
|
51
54
|
// The browser bridge (#1237). Opt-in, because it opens the daemon's one route reachable from
|
|
52
55
|
// another origin, behind a key of its own. The key may not exist yet, hence ensure, not read.
|
|
53
56
|
const bridgeOn = (await readPreferences(undefined, env).catch(() => ({}))).bridge === true;
|
package/dist/daemon.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"daemon.js","sourceRoot":"","sources":["../src/daemon.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAA;AACxC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AAChC,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;AAClD,OAAO,EAAE,cAAc,EAAkB,MAAM,sBAAsB,CAAA;AACrE,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAA;AAC1D,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAA;AACzD,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAA;AAC3D,OAAO,EAAE,uBAAuB,EAAE,MAAM,sBAAsB,CAAA;AAC9D,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAA;AACvD,OAAO,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAA;AAC9D,OAAO,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,YAAY,EAAE,cAAc,EAAE,eAAe,EAAE,wBAAwB,EAAoB,MAAM,eAAe,CAAA;AAC9J,OAAO,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAA;AACzD,OAAO,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAA;AACnE,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAA;AAC7D,OAAO,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,kBAAkB,EAAiD,MAAM,qBAAqB,CAAA;AAC7I,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAA;AACpD,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAA;AAC/C,OAAO,EAAE,YAAY,EAAE,oBAAoB,EAAqD,MAAM,uBAAuB,CAAA;AAC7H,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAA;
|
|
1
|
+
{"version":3,"file":"daemon.js","sourceRoot":"","sources":["../src/daemon.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { type GitHostFor } from '../store/git-host.js';
|
|
2
|
+
/**
|
|
3
|
+
* The person at this dashboard, as the foot of its sidebar shows them: a name, and a picture
|
|
4
|
+
* where a git host knows one. The name is git's own `user.name`, the one every commit of theirs
|
|
5
|
+
* carries, else the git host's name for them, else their login there, else this computer's user.
|
|
6
|
+
* The picture is asked of the git host of the first project that has one: OpenAgent names no git
|
|
7
|
+
* host, so a project's own package answers (`me`).
|
|
8
|
+
*/
|
|
9
|
+
export interface Person {
|
|
10
|
+
name: string;
|
|
11
|
+
/** Their login at the git host, when one answered. */
|
|
12
|
+
login?: string;
|
|
13
|
+
/** A picture of them: an https address. */
|
|
14
|
+
avatar?: string;
|
|
15
|
+
}
|
|
16
|
+
/** `projects` are the listed projects' folders, in the list's order. */
|
|
17
|
+
export declare function readPerson(deps: {
|
|
18
|
+
projects: () => Promise<string[]>;
|
|
19
|
+
gitName?: () => Promise<string | undefined>;
|
|
20
|
+
gitHost?: GitHostFor;
|
|
21
|
+
}): Promise<Person>;
|
|
22
|
+
//# sourceMappingURL=person.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"person.d.ts","sourceRoot":"","sources":["../../src/dashboard/person.ts"],"names":[],"mappings":"AAEA,OAAO,EAAkB,KAAK,UAAU,EAAE,MAAM,sBAAsB,CAAA;AAEtE;;;;;;GAMG;AACH,MAAM,WAAW,MAAM;IACrB,IAAI,EAAE,MAAM,CAAA;IACZ,sDAAsD;IACtD,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,2CAA2C;IAC3C,MAAM,CAAC,EAAE,MAAM,CAAA;CAChB;AAED,wEAAwE;AACxE,wBAAsB,UAAU,CAAC,IAAI,EAAE;IAAE,QAAQ,EAAE,MAAM,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;IAAC,OAAO,CAAC,EAAE,UAAU,CAAA;CAAE,GAAG,OAAO,CAAC,MAAM,CAAC,CAKhK"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { homedir, userInfo } from 'node:os';
|
|
2
|
+
import { nodeGitRunner } from '@openagt/agent-data';
|
|
3
|
+
import { projectGitHost } from '../store/git-host.js';
|
|
4
|
+
/** `projects` are the listed projects' folders, in the list's order. */
|
|
5
|
+
export async function readPerson(deps) {
|
|
6
|
+
const gitName = await (deps.gitName ?? readGitName)();
|
|
7
|
+
const host = await signedIn(await deps.projects(), deps.gitHost ?? projectGitHost);
|
|
8
|
+
const name = gitName ?? host?.name ?? host?.login ?? userInfo().username;
|
|
9
|
+
return { name, ...(host ? { login: host.login } : {}), ...(host?.avatar ? { avatar: host.avatar } : {}) };
|
|
10
|
+
}
|
|
11
|
+
/** git's `user.name`, as it is set for this person (asked from their home, so no project's own setting answers). */
|
|
12
|
+
async function readGitName() {
|
|
13
|
+
const name = (await nodeGitRunner()(['config', '--get', 'user.name'], homedir()).catch(() => '')).trim();
|
|
14
|
+
return name || undefined;
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* Who is signed in, asked of the first project that has a git host: the sign-in is the person's,
|
|
18
|
+
* not the project's, so another project's would answer the same, and nobody signed in (no `gh`,
|
|
19
|
+
* say) is asked once, not once per project.
|
|
20
|
+
*/
|
|
21
|
+
async function signedIn(paths, gitHost) {
|
|
22
|
+
for (const path of paths) {
|
|
23
|
+
const host = await gitHost(path).catch(() => undefined);
|
|
24
|
+
if (host)
|
|
25
|
+
return host.me().catch(() => undefined);
|
|
26
|
+
}
|
|
27
|
+
return undefined;
|
|
28
|
+
}
|
|
29
|
+
//# sourceMappingURL=person.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"person.js","sourceRoot":"","sources":["../../src/dashboard/person.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAA;AAC3C,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAA;AACnD,OAAO,EAAE,cAAc,EAAmB,MAAM,sBAAsB,CAAA;AAiBtE,wEAAwE;AACxE,MAAM,CAAC,KAAK,UAAU,UAAU,CAAC,IAA8G;IAC7I,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,IAAI,WAAW,CAAC,EAAE,CAAA;IACrD,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,MAAM,IAAI,CAAC,QAAQ,EAAE,EAAE,IAAI,CAAC,OAAO,IAAI,cAAc,CAAC,CAAA;IAClF,MAAM,IAAI,GAAG,OAAO,IAAI,IAAI,EAAE,IAAI,IAAI,IAAI,EAAE,KAAK,IAAI,QAAQ,EAAE,CAAC,QAAQ,CAAA;IACxE,OAAO,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAA;AAC3G,CAAC;AAED,oHAAoH;AACpH,KAAK,UAAU,WAAW;IACxB,MAAM,IAAI,GAAG,CAAC,MAAM,aAAa,EAAE,CAAC,CAAC,QAAQ,EAAE,OAAO,EAAE,WAAW,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAA;IACxG,OAAO,IAAI,IAAI,SAAS,CAAA;AAC1B,CAAC;AAED;;;;GAIG;AACH,KAAK,UAAU,QAAQ,CAAC,KAAwB,EAAE,OAAmB;IACnE,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAA;QACvD,IAAI,IAAI;YAAE,OAAO,IAAI,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAA;IACnD,CAAC;IACD,OAAO,SAAS,CAAA;AAClB,CAAC"}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
import { type GitRunner } from '@openagt/agent-data';
|
|
2
|
+
import { type GitHostFor } from '../store/git-host.js';
|
|
3
|
+
/**
|
|
4
|
+
* A project's skills sent to where its agents start from (#2023): what "Save and send" and "Send"
|
|
5
|
+
* on the project's page do. An agent's checkout starts from the remote's default branch, so a skill
|
|
6
|
+
* reaches agents only once it is there. The files of the named skills are committed in the folder,
|
|
7
|
+
* then the same files go to the remote's default branch; where that push is refused (a protected
|
|
8
|
+
* branch), they go to {@link SKILLS_BRANCH} and a pull request is opened for it. A project with no
|
|
9
|
+
* remote starts its agents from its own commits, so the commit is all it takes.
|
|
10
|
+
*
|
|
11
|
+
* Nothing else the person has is pushed: the folder's branch is pushed as it is only when it is the
|
|
12
|
+
* default branch and holds nothing past the remote's but skill files; else the skills' files are
|
|
13
|
+
* written onto the remote's branch in a commit of their own, made without touching the folder.
|
|
14
|
+
*/
|
|
15
|
+
/** The branch the skills go to when the default branch takes no push: one, so a second send updates the open pull request. */
|
|
16
|
+
export declare const SKILLS_BRANCH = "openagent/skills";
|
|
17
|
+
export type SendSkillsResult =
|
|
18
|
+
/** No remote: committed in the folder, where agents start from. */
|
|
19
|
+
{
|
|
20
|
+
ok: true;
|
|
21
|
+
sent: 'committed';
|
|
22
|
+
}
|
|
23
|
+
/** On the remote's default branch, `branch` by name. */
|
|
24
|
+
| {
|
|
25
|
+
ok: true;
|
|
26
|
+
sent: 'pushed';
|
|
27
|
+
branch: string;
|
|
28
|
+
}
|
|
29
|
+
/** The default branch took no push: in this pull request. */
|
|
30
|
+
| {
|
|
31
|
+
ok: true;
|
|
32
|
+
sent: 'request';
|
|
33
|
+
request: {
|
|
34
|
+
number: number;
|
|
35
|
+
url: string;
|
|
36
|
+
};
|
|
37
|
+
}
|
|
38
|
+
/** The default branch took no push, and no git host package opens a pull request: on {@link SKILLS_BRANCH}, to merge by hand. */
|
|
39
|
+
| {
|
|
40
|
+
ok: true;
|
|
41
|
+
sent: 'branch';
|
|
42
|
+
branch: string;
|
|
43
|
+
} | {
|
|
44
|
+
ok: false;
|
|
45
|
+
error: string;
|
|
46
|
+
};
|
|
47
|
+
export declare function sendSkills(cwd: string, names: readonly string[], deps?: {
|
|
48
|
+
git?: GitRunner;
|
|
49
|
+
gitHost?: GitHostFor;
|
|
50
|
+
}): Promise<SendSkillsResult>;
|
|
51
|
+
//# sourceMappingURL=send-skills.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"send-skills.d.ts","sourceRoot":"","sources":["../../src/dashboard/send-skills.ts"],"names":[],"mappings":"AAIA,OAAO,EAA4B,KAAK,SAAS,EAAE,MAAM,qBAAqB,CAAA;AAE9E,OAAO,EAAkB,KAAK,UAAU,EAAE,MAAM,sBAAsB,CAAA;AAItE;;;;;;;;;;;GAWG;AAEH,8HAA8H;AAC9H,eAAO,MAAM,aAAa,qBAAqB,CAAA;AAI/C,MAAM,MAAM,gBAAgB;AAC1B,mEAAmE;AACjE;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,IAAI,EAAE,WAAW,CAAA;CAAE;AACjC,wDAAwD;GACtD;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,IAAI,EAAE,QAAQ,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE;AAC9C,6DAA6D;GAC3D;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,IAAI,EAAE,SAAS,CAAC;IAAC,OAAO,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAE,CAAA;CAAE;AACzE,iIAAiI;GAC/H;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,IAAI,EAAE,QAAQ,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GAC5C;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAA;AAEhC,wBAAsB,UAAU,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,MAAM,EAAE,EAAE,IAAI,GAAE;IAAE,GAAG,CAAC,EAAE,SAAS,CAAC;IAAC,OAAO,CAAC,EAAE,UAAU,CAAA;CAAO,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAmCvJ"}
|
|
@@ -0,0 +1,122 @@
|
|
|
1
|
+
import { execFile } from 'node:child_process';
|
|
2
|
+
import { mkdtemp, rm } from 'node:fs/promises';
|
|
3
|
+
import { tmpdir } from 'node:os';
|
|
4
|
+
import { join } from 'node:path';
|
|
5
|
+
import { gitReason, nodeGitRunner } from '@openagt/agent-data';
|
|
6
|
+
import { commitSkills, skillPaths } from '@openagt/init';
|
|
7
|
+
import { projectGitHost } from '../store/git-host.js';
|
|
8
|
+
import { forgetBranchPrs, forgetPr } from './pull-requests.js';
|
|
9
|
+
import { startBranch } from './start-branch.js';
|
|
10
|
+
/**
|
|
11
|
+
* A project's skills sent to where its agents start from (#2023): what "Save and send" and "Send"
|
|
12
|
+
* on the project's page do. An agent's checkout starts from the remote's default branch, so a skill
|
|
13
|
+
* reaches agents only once it is there. The files of the named skills are committed in the folder,
|
|
14
|
+
* then the same files go to the remote's default branch; where that push is refused (a protected
|
|
15
|
+
* branch), they go to {@link SKILLS_BRANCH} and a pull request is opened for it. A project with no
|
|
16
|
+
* remote starts its agents from its own commits, so the commit is all it takes.
|
|
17
|
+
*
|
|
18
|
+
* Nothing else the person has is pushed: the folder's branch is pushed as it is only when it is the
|
|
19
|
+
* default branch and holds nothing past the remote's but skill files; else the skills' files are
|
|
20
|
+
* written onto the remote's branch in a commit of their own, made without touching the folder.
|
|
21
|
+
*/
|
|
22
|
+
/** The branch the skills go to when the default branch takes no push: one, so a second send updates the open pull request. */
|
|
23
|
+
export const SKILLS_BRANCH = 'openagent/skills';
|
|
24
|
+
const MESSAGE = 'Update OpenAgent skills\n';
|
|
25
|
+
export async function sendSkills(cwd, names, deps = {}) {
|
|
26
|
+
if (names.length === 0)
|
|
27
|
+
return { ok: false, error: 'no skill to send' };
|
|
28
|
+
const git = deps.git ?? nodeGitRunner();
|
|
29
|
+
const committed = await commitSkills(cwd, names, git);
|
|
30
|
+
if (!committed.ok)
|
|
31
|
+
return committed;
|
|
32
|
+
const start = await startBranch(cwd);
|
|
33
|
+
if (!start || start.ref === 'HEAD')
|
|
34
|
+
return { ok: true, sent: 'committed' };
|
|
35
|
+
try {
|
|
36
|
+
await git(['fetch', '--quiet', 'origin', start.name], cwd);
|
|
37
|
+
}
|
|
38
|
+
catch (err) {
|
|
39
|
+
return { ok: false, error: `could not reach the remote: ${gitReason(err)}` };
|
|
40
|
+
}
|
|
41
|
+
const paths = await skillPaths(cwd, names);
|
|
42
|
+
const commit = (await asItIs(cwd, start, paths, git)) ?? (await onTopOf(cwd, start.ref, paths));
|
|
43
|
+
if (commit === undefined)
|
|
44
|
+
return { ok: true, sent: 'pushed', branch: start.name };
|
|
45
|
+
try {
|
|
46
|
+
await git(['push', '--quiet', 'origin', `${commit}:refs/heads/${start.name}`], cwd);
|
|
47
|
+
return { ok: true, sent: 'pushed', branch: start.name };
|
|
48
|
+
}
|
|
49
|
+
catch {
|
|
50
|
+
// Refused: most often a protected branch. The other way in is a pull request, from a branch of OpenAgent's own.
|
|
51
|
+
}
|
|
52
|
+
try {
|
|
53
|
+
await git(['push', '--quiet', '--force', 'origin', `${commit}:refs/heads/${SKILLS_BRANCH}`], cwd);
|
|
54
|
+
}
|
|
55
|
+
catch (err) {
|
|
56
|
+
return { ok: false, error: `the remote took no push: ${gitReason(err)}` };
|
|
57
|
+
}
|
|
58
|
+
const host = await (deps.gitHost ?? projectGitHost)(cwd).catch(() => undefined);
|
|
59
|
+
if (!host)
|
|
60
|
+
return { ok: true, sent: 'branch', branch: SKILLS_BRANCH };
|
|
61
|
+
const opened = await host.open(SKILLS_BRANCH, {
|
|
62
|
+
title: 'Update OpenAgent skills',
|
|
63
|
+
body: `The skill files picked on OpenAgent's dashboard: ${names.join(', ')}.\n\n${start.name} took no push, so they come as this pull request. Agents started from ${start.name} have them once it is merged.`,
|
|
64
|
+
});
|
|
65
|
+
forgetPr(cwd, SKILLS_BRANCH);
|
|
66
|
+
forgetBranchPrs(cwd, SKILLS_BRANCH);
|
|
67
|
+
return opened.ok ? { ok: true, sent: 'request', request: opened.request } : { ok: false, error: `pushed to ${SKILLS_BRANCH}, but no pull request was opened: ${opened.error}` };
|
|
68
|
+
}
|
|
69
|
+
/**
|
|
70
|
+
* The folder's own commit, when it can go as it is: the folder is on the default branch, past the
|
|
71
|
+
* remote's copy of it, and everything between the two is skill files. Pushed as it is, the folder
|
|
72
|
+
* and the remote stay one history.
|
|
73
|
+
*/
|
|
74
|
+
async function asItIs(cwd, start, paths, git) {
|
|
75
|
+
const branch = (await git(['rev-parse', '--abbrev-ref', 'HEAD'], cwd).catch(() => '')).trim();
|
|
76
|
+
if (branch !== start.name)
|
|
77
|
+
return undefined;
|
|
78
|
+
if (!(await git(['merge-base', '--is-ancestor', start.ref, 'HEAD'], cwd).then(() => true, () => false)))
|
|
79
|
+
return undefined;
|
|
80
|
+
const changed = (await git(['diff', '--name-only', '-z', start.ref, 'HEAD'], cwd)).split('\0').filter(Boolean);
|
|
81
|
+
const skills = new Set(paths);
|
|
82
|
+
return changed.length > 0 && changed.every(path => skills.has(path)) ? (await git(['rev-parse', 'HEAD'], cwd)).trim() : undefined;
|
|
83
|
+
}
|
|
84
|
+
/**
|
|
85
|
+
* A commit on `base` holding `paths` as the folder's HEAD has them (a path HEAD lacks is deleted),
|
|
86
|
+
* built in an index of its own so the folder's checkout and index are never touched. Undefined
|
|
87
|
+
* when `base` already holds them so.
|
|
88
|
+
*/
|
|
89
|
+
async function onTopOf(cwd, base, paths) {
|
|
90
|
+
const dir = await mkdtemp(join(tmpdir(), 'openagent-skills-'));
|
|
91
|
+
const git = (args, input) => run(cwd, args, { GIT_INDEX_FILE: join(dir, 'index') }, input);
|
|
92
|
+
try {
|
|
93
|
+
await git(['read-tree', base]);
|
|
94
|
+
for (const path of paths) {
|
|
95
|
+
const entry = (await git(['ls-tree', '-z', 'HEAD', '--', path])).split('\0')[0];
|
|
96
|
+
if (entry) {
|
|
97
|
+
const [mode, , sha] = entry.split('\t')[0].split(' ');
|
|
98
|
+
await git(['update-index', '--add', '--cacheinfo', `${mode},${sha},${path}`]);
|
|
99
|
+
}
|
|
100
|
+
else
|
|
101
|
+
await git(['update-index', '--force-remove', '--', path]);
|
|
102
|
+
}
|
|
103
|
+
const tree = (await git(['write-tree'])).trim();
|
|
104
|
+
if (tree === (await git(['rev-parse', `${base}^{tree}`])).trim())
|
|
105
|
+
return undefined;
|
|
106
|
+
return (await git(['commit-tree', tree, '-p', base, '-F', '-'], MESSAGE)).trim();
|
|
107
|
+
}
|
|
108
|
+
finally {
|
|
109
|
+
await rm(dir, { recursive: true, force: true });
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
/** git with environment of its own, which a {@link GitRunner} does not take. */
|
|
113
|
+
function run(cwd, args, env, input) {
|
|
114
|
+
return new Promise((resolve, reject) => {
|
|
115
|
+
const child = execFile('git', args, { cwd, env: { ...process.env, ...env }, timeout: 30_000 }, (err, stdout) => (err ? reject(err) : resolve(String(stdout))));
|
|
116
|
+
// A git that ends before it reads its input closes the pipe under the write: its exit code
|
|
117
|
+
// says how it went, and the EPIPE, with no one listening for it, would be thrown at the process.
|
|
118
|
+
child.stdin?.on('error', () => { });
|
|
119
|
+
child.stdin?.end(input ?? '');
|
|
120
|
+
});
|
|
121
|
+
}
|
|
122
|
+
//# sourceMappingURL=send-skills.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"send-skills.js","sourceRoot":"","sources":["../../src/dashboard/send-skills.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{t as e}from"./json-B88Oqtu5.js";import{t}from"./javascript-BzbQS41l.js";import{t as n}from"./typescript-j_1H8WHN.js";import{t as r}from"./css-BGIxQoYs.js";import{t as i}from"./postcss-D_Wz94rJ.js";import{t as a}from"./tsx-BOvsFOI6.js";var o=Object.freeze(JSON.parse(`{"displayName":"Astro","fileTypes":["astro"],"injections":{"L:(meta.script.astro) (meta.lang.js | meta.lang.javascript | meta.lang.partytown | meta.lang.node) - (meta source)":{"patterns":[{"begin":"(?<=>)(?!</)","contentName":"source.js","end":"(?=</)","name":"meta.embedded.block.astro","patterns":[{"include":"source.js"}]}]},"L:(meta.script.astro) (meta.lang.json) - (meta source)":{"patterns":[{"begin":"(?<=>)(?!</)","contentName":"source.json","end":"(?=</)","name":"meta.embedded.block.astro","patterns":[{"include":"source.json"}]}]},"L:(meta.script.astro) (meta.lang.ts | meta.lang.typescript) - (meta source)":{"patterns":[{"begin":"(?<=>)(?!</)","contentName":"source.ts","end":"(?=</)","name":"meta.embedded.block.astro","patterns":[{"include":"source.ts"}]}]},"L:meta.script.astro - meta.lang - (meta source)":{"patterns":[{"begin":"(?<=>)(?!</)","contentName":"source.js","end":"(?=</)","name":"meta.embedded.block.astro","patterns":[{"include":"source.js"}]}]},"L:meta.style.astro - meta.lang - (meta source)":{"patterns":[{"begin":"(?<=>)(?!</)","contentName":"source.css","end":"(?=</)","name":"meta.embedded.block.astro","patterns":[{"include":"source.css"}]}]},"L:meta.style.astro meta.lang.css - (meta source)":{"patterns":[{"begin":"(?<=>)(?!</)","contentName":"source.css","end":"(?=</)","name":"meta.embedded.block.astro","patterns":[{"include":"source.css"}]}]},"L:meta.style.astro meta.lang.less - (meta source)":{"patterns":[{"begin":"(?<=>)(?!</)","contentName":"source.css.less","end":"(?=</)","name":"meta.embedded.block.astro","patterns":[{"include":"source.css.less"}]}]},"L:meta.style.astro meta.lang.postcss - (meta source)":{"patterns":[{"begin":"(?<=>)(?!</)","contentName":"source.css.postcss","end":"(?=</)","name":"meta.embedded.block.astro","patterns":[{"include":"source.css.postcss"}]}]},"L:meta.style.astro meta.lang.sass - (meta source)":{"patterns":[{"begin":"(?<=>)(?!</)","contentName":"source.sass","end":"(?=</)","name":"meta.embedded.block.astro","patterns":[{"include":"source.sass"}]}]},"L:meta.style.astro meta.lang.scss - (meta source)":{"patterns":[{"begin":"(?<=>)(?!</)","contentName":"source.css.scss","end":"(?=</)","name":"meta.embedded.block.astro","patterns":[{"include":"source.css.scss"}]}]},"L:meta.style.astro meta.lang.stylus - (meta source)":{"patterns":[{"begin":"(?<=>)(?!</)","contentName":"source.stylus","end":"(?=</)","name":"meta.embedded.block.astro","patterns":[{"include":"source.stylus"}]}]}},"name":"astro","patterns":[{"include":"#scope"},{"include":"#frontmatter"},{"include":"#text"}],"repository":{"attribute-literal":{"begin":"(\`)","end":"\\\\1","name":"string.template.astro","patterns":[{"include":"source.tsx#template-substitution-element"},{"include":"source.tsx#string-character-escape"}]},"attributes":{"patterns":[{"include":"#attributes-events"},{"include":"#attributes-keyvalue"},{"include":"#attributes-interpolated"}]},"attributes-events":{"begin":"(on(s(croll|t(orage|alled)|u(spend|bmit)|e(curitypolicyviolation|ek(ing|ed)|lect))|hashchange|c(hange|o(ntextmenu|py)|u(t|echange)|l(ick|ose)|an(cel|play(through)?))|t(imeupdate|oggle)|in(put|valid)|o((?:n|ff)line)|d(urationchange|r(op|ag(start|over|e(n(ter|d)|xit)|leave)?)|blclick)|un(handledrejection|load)|p(opstate|lay(ing)?|a(ste|use|ge(show|hide))|rogress)|e(nded|rror|mptied)|volumechange|key(down|up|press)|focus|w(heel|aiting)|l(oad(start|e(nd|d((?:|meta)data)))?|anguagechange)|a(uxclick|fterprint|bort)|r(e(s(ize|et)|jectionhandled)|atechange)|m(ouse(o(ut|ver)|down|up|enter|leave|move)|essage(error)?)|b(efore(unload|print)|lur)))(?![-:\\\\\\\\w])","beginCaptures":{"0":{"patterns":[{"match":".*","name":"entity.other.attribute-name.astro"}]}},"end":"(?=\\\\s*+[^=\\\\s])","name":"meta.attribute.$1.astro","patterns":[{"begin":"=","beginCaptures":{"0":{"name":"punctuation.separator.key-value.astro"}},"end":"(?<=[^=\\\\s])(?!\\\\s*=)|(?=/?>)","patterns":[{"include":"#interpolation"},{"include":"#attribute-literal"},{"begin":"(?=[^/<=>\`\\\\s]|/(?!>))","end":"(?!\\\\G)","name":"meta.embedded.line.js","patterns":[{"captures":{"0":{"name":"source.js"},"1":{"patterns":[{"include":"source.js"}]}},"match":"(([^\\"'/<=>\`\\\\s]|/(?!>))+)","name":"string.unquoted.astro"},{"begin":"(\\")","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.astro"}},"end":"\\\\1","endCaptures":{"0":{"name":"punctuation.definition.string.end.astro"}},"name":"string.quoted.astro","patterns":[{"captures":{"0":{"patterns":[{"include":"source.js"}]}},"match":"([^\\\\n\\"/]|/(?![*/]))+"},{"begin":"//","beginCaptures":{"0":{"name":"punctuation.definition.comment.js"}},"end":"(?=\\")|\\\\n","name":"comment.line.double-slash.js"},{"begin":"/\\\\*","beginCaptures":{"0":{"name":"punctuation.definition.comment.begin.js"}},"end":"(?=\\")|\\\\*/","endCaptures":{"0":{"name":"punctuation.definition.comment.end.js"}},"name":"comment.block.js"}]},{"begin":"(')","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.astro"}},"end":"\\\\1","endCaptures":{"0":{"name":"punctuation.definition.string.end.astro"}},"name":"string.quoted.astro","patterns":[{"captures":{"0":{"patterns":[{"include":"source.js"}]}},"match":"([^\\\\n'/]|/(?![*/]))+"},{"begin":"//","beginCaptures":{"0":{"name":"punctuation.definition.comment.js"}},"end":"(?=')|\\\\n","name":"comment.line.double-slash.js"},{"begin":"/\\\\*","beginCaptures":{"0":{"name":"punctuation.definition.comment.begin.js"}},"end":"(?=')|\\\\*/","endCaptures":{"0":{"name":"punctuation.definition.comment.end.js"}},"name":"comment.block.js"}]}]}]}]},"attributes-interpolated":{"begin":"(?<![:=])\\\\s*(\\\\{)","contentName":"meta.embedded.expression.astro source.tsx","end":"(})","patterns":[{"include":"source.tsx"}]},"attributes-keyvalue":{"begin":"([$@_[:alpha:]][-$.:_[:alnum:]]*)","beginCaptures":{"0":{"patterns":[{"match":".*","name":"entity.other.attribute-name.astro"}]}},"end":"(?=\\\\s*+[^=\\\\s])","name":"meta.attribute.$1.astro","patterns":[{"begin":"=","beginCaptures":{"0":{"name":"punctuation.separator.key-value.astro"}},"end":"(?<=[^=\\\\s])(?!\\\\s*=)|(?=/?>)","patterns":[{"include":"#attributes-value"}]}]},"attributes-value":{"patterns":[{"include":"#interpolation"},{"match":"([^\\"'/<=>\`\\\\s]|/(?!>))+","name":"string.unquoted.astro"},{"begin":"([\\"'])","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.astro"}},"end":"\\\\1","endCaptures":{"0":{"name":"punctuation.definition.string.end.astro"}},"name":"string.quoted.astro"},{"include":"#attribute-literal"}]},"comments":{"begin":"<!--","captures":{"0":{"name":"punctuation.definition.comment.astro"}},"end":"-->","name":"comment.block.astro","patterns":[{"match":"\\\\G-?>|<!--(?!>)|<!-(?=-->)|--!>","name":"invalid.illegal.characters-not-allowed-here.astro"}]},"entities":{"patterns":[{"captures":{"1":{"name":"punctuation.definition.entity.astro"},"912":{"name":"punctuation.definition.entity.astro"}},"match":"(&)(?=[A-Za-z])((a(s(ymp(eq)?|cr|t)|n(d(slope|[dv]|and)?|g(s(t|ph)|zarr|e|le|rt(vb(d)?)?|msd(a([a-h]))?)?)|c(y|irc|d|ute|E)?|tilde|o(pf|gon)|uml|p(id|os|prox(eq)?|[Ee]|acir)?|elig|f(r)?|w((?:con|)int)|l(pha|e(ph|fsym))|acute|ring|grave|m(p|a(cr|lg))|breve)|A(s(sign|cr)|nd|MP|c(y|irc)|tilde|o(pf|gon)|uml|pplyFunction|fr|Elig|lpha|acute|ring|grave|macr|breve))|(B(scr|cy|opf|umpeq|e(cause|ta|rnoullis)|fr|a(ckslash|r(v|wed))|reve)|b(s(cr|im(e)?|ol(hsub|b)?|emi)|n(ot|e(quiv)?)|c(y|ong)|ig(s(tar|qcup)|c(irc|up|ap)|triangle(down|up)|o(times|dot|plus)|uplus|vee|wedge)|o(t(tom)?|pf|wtie|x(h([DUdu])?|times|H([DUdu])?|d([LRlr])|u([LRlr])|plus|D([LRlr])|v([HLRhlr])?|U([LRlr])|V([HLRhlr])?|minus|box))|Not|dquo|u(ll(et)?|mp(e(q)?|E)?)|prime|e(caus(e)?|t(h|ween|a)|psi|rnou|mptyv)|karow|fr|l(ock|k(1([24])|34)|a(nk|ck(square|triangle(down|left|right)?|lozenge)))|a(ck(sim(eq)?|cong|prime|epsilon)|r(vee|wed(ge)?))|r(eve|vbar)|brk(tbrk)?))|(c(s(cr|u(p(e)?|b(e)?))|h(cy|i|eck(mark)?)|ylcty|c(irc|ups(sm)?|edil|a(ps|ron))|tdot|ir(scir|c(eq|le(d(R|circ|S|dash|ast)|arrow(left|right)))?|e|fnint|E|mid)?|o(n(int|g(dot)?)|p(y(sr)?|f|rod)|lon(e(q)?)?|m(p(fn|le(xes|ment))?|ma(t)?))|dot|u(darr([lr])|p(s|c([au]p)|or|dot|brcap)?|e(sc|pr)|vee|wed|larr(p)?|r(vearrow(left|right)|ly(eq(succ|prec)|vee|wedge)|arr(m)?|ren))|e(nt(erdot)?|dil|mptyv)|fr|w((?:con|)int)|lubs(uit)?|a(cute|p(s|c([au]p)|dot|and|brcup)?|r(on|et))|r(oss|arr))|C(scr|hi|c(irc|onint|edil|aron)|ircle(Minus|Times|Dot|Plus)|Hcy|o(n(tourIntegral|int|gruent)|unterClockwiseContourIntegral|p(f|roduct)|lon(e)?)|dot|up(Cap)?|OPY|e(nterDot|dilla)|fr|lo(seCurly((?:Double|)Quote)|ckwiseContourIntegral)|a(yleys|cute|p(italDifferentialD)?)|ross))|(d(s(c([ry])|trok|ol)|har([lr])|c(y|aron)|t(dot|ri(f)?)|i(sin|e|v(ide(ontimes)?|onx)?|am(s|ond(suit)?)?|gamma)|Har|z(cy|igrarr)|o(t(square|plus|eq(dot)?|minus)?|ublebarwedge|pf|wn(harpoon(left|right)|downarrows|arrow)|llar)|d(otseq|a(rr|gger))?|u(har|arr)|jcy|e(lta|g|mptyv)|f(isht|r)|wangle|lc(orn|rop)|a(sh(v)?|leth|rr|gger)|r(c(orn|rop)|bkarow)|b(karow|lac)|Arr)|D(s(cr|trok)|c(y|aron)|Scy|i(fferentialD|a(critical(Grave|Tilde|Do(t|ubleAcute)|Acute)|mond))|o(t(Dot|Equal)?|uble(Right(Tee|Arrow)|ContourIntegral|Do(t|wnArrow)|Up((?:Down|)Arrow)|VerticalBar|L(ong(RightArrow|Left((?:Right|)Arrow))|eft(RightArrow|Tee|Arrow)))|pf|wn(Right(TeeVector|Vector(Bar)?)|Breve|Tee(Arrow)?|arrow|Left(RightVector|TeeVector|Vector(Bar)?)|Arrow(Bar|UpArrow)?))|Zcy|el(ta)?|D(otrahd)?|Jcy|fr|a(shv|rr|gger)))|(e(s(cr|im|dot)|n(sp|g)|c(y|ir(c)?|olon|aron)|t([ah])|o(pf|gon)|dot|u(ro|ml)|p(si(v|lon)?|lus|ar(sl)?)|e|D(D??ot)|q(s(im|lant(less|gtr))|c(irc|olon)|u(iv(DD)?|est|als)|vparsl)|f(Dot|r)|l(s(dot)?|inters|l)?|a(ster|cute)|r(Dot|arr)|g(s(dot)?|rave)?|x(cl|ist|p(onentiale|ectation))|m(sp(1([34]))?|pty(set|v)?|acr))|E(s(cr|im)|c(y|irc|aron)|ta|o(pf|gon)|NG|dot|uml|TH|psilon|qu(ilibrium|al(Tilde)?)|fr|lement|acute|grave|x(ists|ponentialE)|m(pty((?:|Very)SmallSquare)|acr)))|(f(scr|nof|cy|ilig|o(pf|r(k(v)?|all))|jlig|partint|emale|f(ilig|l(l??ig)|r)|l(tns|lig|at)|allingdotseq|r(own|a(sl|c(1([2-68])|78|2([35])|3([458])|45|5([68])))))|F(scr|cy|illed((?:|Very)SmallSquare)|o(uriertrf|pf|rAll)|fr))|(G(scr|c(y|irc|edil)|t|opf|dot|T|Jcy|fr|amma(d)?|reater(Greater|SlantEqual|Tilde|Equal(Less)?|FullEqual|Less)|g|breve)|g(s(cr|im([el])?)|n(sim|e(q(q)?)?|E|ap(prox)?)|c(y|irc)|t(c(c|ir)|dot|quest|lPar|r(sim|dot|eq(q?less)|less|a(pprox|rr)))?|imel|opf|dot|jcy|e(s(cc|dot(o(l)?)?|l(es)?)?|q(slant|q)?|l)?|v(nE|ertneqq)|fr|E(l)?|l([Eaj])?|a(cute|p|mma(d)?)|rave|g(g)?|breve))|(h(s(cr|trok|lash)|y(phen|bull)|circ|o(ok((?:lef|righ)tarrow)|pf|arr|rbar|mtht)|e(llip|arts(uit)?|rcon)|ks([ew]arow)|fr|a(irsp|lf|r(dcy|r(cir|w)?)|milt)|bar|Arr)|H(s(cr|trok)|circ|ilbertSpace|o(pf|rizontalLine)|ump(DownHump|Equal)|fr|a(cek|t)|ARDcy))|(i(s(cr|in(s(v)?|dot|[Ev])?)|n(care|t(cal|prod|e(rcal|gers)|larhk)?|odot|fin(tie)?)?|c(y|irc)?|t(ilde)?|i(nfin|i(i??nt)|ota)?|o(cy|ta|pf|gon)|u(kcy|ml)|jlig|prod|e(cy|xcl)|quest|f([fr])|acute|grave|m(of|ped|a(cr|th|g(part|e|line))))|I(scr|n(t(e(rsection|gral))?|visible(Comma|Times))|c(y|irc)|tilde|o(ta|pf|gon)|dot|u(kcy|ml)|Ocy|Jlig|fr|Ecy|acute|grave|m(plies|a(cr|ginaryI))?))|(j(s(cr|ercy)|c(y|irc)|opf|ukcy|fr|math)|J(s(cr|ercy)|c(y|irc)|opf|ukcy|fr))|(k(scr|hcy|c(y|edil)|opf|jcy|fr|appa(v)?|green)|K(scr|c(y|edil)|Hcy|opf|Jcy|fr|appa))|(l(s(h|cr|trok|im([eg])?|q(uo(r)?|b)|aquo)|h(ar(d|u(l)?)|blk)|n(sim|e(q(q)?)?|E|ap(prox)?)|c(y|ub|e(d??il)|aron)|Barr|t(hree|c(c|ir)|imes|dot|quest|larr|r(i([ef])?|Par))?|Har|o(ng(left((?:|right)arrow)|rightarrow|mapsto)|times|z(enge|f)?|oparrow(left|right)|p(f|lus|ar)|w(ast|bar)|a(ng|rr)|brk)|d(sh|ca|quo(r)?|r((?:d|us)har))|ur((?:ds|u)har)|jcy|par(lt)?|e(s(s(sim|dot|eq(q?gtr)|approx|gtr)|cc|dot(o(r)?)?|g(es)?)?|q(slant|q)?|ft(harpoon(down|up)|threetimes|leftarrows|arrow(tail)?|right(squigarrow|harpoons|arrow(s)?))|g)?|v(nE|ertneqq)|f(isht|loor|r)|E(g)?|l(hard|corner|tri|arr)?|a(ng(d|le)?|cute|t(e(s)?|ail)?|p|emptyv|quo|rr(sim|hk|tl|pl|fs|lp|b(fs)?)?|gran|mbda)|r(har(d)?|corner|tri|arr|m)|g(E)?|m(idot|oust(ache)?)|b(arr|r(k(sl([du])|e)|ac([ek]))|brk)|A(tail|arr|rr))|L(s(h|cr|trok)|c(y|edil|aron)|t|o(ng(RightArrow|left((?:|right)arrow)|rightarrow|Left((?:Right|)Arrow))|pf|wer((?:Righ|Lef)tArrow))|T|e(ss(Greater|SlantEqual|Tilde|EqualGreater|FullEqual|Less)|ft(Right(Vector|Arrow)|Ceiling|T(ee(Vector|Arrow)?|riangle(Bar|Equal)?)|Do(ubleBracket|wn(TeeVector|Vector(Bar)?))|Up(TeeVector|DownVector|Vector(Bar)?)|Vector(Bar)?|arrow|rightarrow|Floor|A(ngleBracket|rrow(RightArrow|Bar)?)))|Jcy|fr|l(eftarrow)?|a(ng|cute|placetrf|rr|mbda)|midot))|(M(scr|cy|inusPlus|opf|u|e(diumSpace|llintrf)|fr|ap)|m(s(cr|tpos)|ho|nplus|c(y|omma)|i(nus(d(u)?|b)?|cro|d(cir|dot|ast)?)|o(dels|pf)|dash|u((?:lti|)map)?|p|easuredangle|DDot|fr|l(cp|dr)|a(cr|p(sto(down|up|left)?)?|l(t(ese)?|e)|rker)))|(n(s(hort(parallel|mid)|c(cue|[er])?|im(e(q)?)?|u(cc(eq)?|p(set(eq(q)?)?|[Ee])?|b(set(eq(q)?)?|[Ee])?)|par|qsu([bp]e)|mid)|Rightarrow|h(par|arr|Arr)|G(t(v)?|g)|c(y|ong(dot)?|up|edil|a(p|ron))|t(ilde|lg|riangle(left(eq)?|right(eq)?)|gl)|i(s(d)?|v)?|o(t(ni(v([abc]))?|in(dot|v([abc])|E)?)?|pf)|dash|u(m(sp|ero)?)?|jcy|p(olint|ar(sl|t|allel)?|r(cue|e(c(eq)?)?)?)|e(s(im|ear)|dot|quiv|ar(hk|r(ow)?)|xist(s)?|Arr)?|v(sim|infin|Harr|dash|Dash|l(t(rie)?|e|Arr)|ap|r(trie|Arr)|g([et]))|fr|w(near|ar(hk|r(ow)?)|Arr)|V([Dd]ash)|l(sim|t(ri(e)?)?|dr|e(s(s)?|q(slant|q)?|ft((?:|right)arrow))?|E|arr|Arr)|a(ng|cute|tur(al(s)?)?|p(id|os|prox|E)?|bla)|r(tri(e)?|ightarrow|arr([cw])?|Arr)|g(sim|t(r)?|e(s|q(slant|q)?)?|E)|mid|L(t(v)?|eft((?:|right)arrow)|l)|b(sp|ump(e)?))|N(scr|c(y|edil|aron)|tilde|o(nBreakingSpace|Break|t(R(ightTriangle(Bar|Equal)?|everseElement)|Greater(Greater|SlantEqual|Tilde|Equal|FullEqual|Less)?|S(u(cceeds(SlantEqual|Tilde|Equal)?|perset(Equal)?|bset(Equal)?)|quareSu(perset(Equal)?|bset(Equal)?))|Hump(DownHump|Equal)|Nested(GreaterGreater|LessLess)|C(ongruent|upCap)|Tilde(Tilde|Equal|FullEqual)?|DoubleVerticalBar|Precedes((?:Slant|)Equal)?|E(qual(Tilde)?|lement|xists)|VerticalBar|Le(ss(Greater|SlantEqual|Tilde|Equal|Less)?|ftTriangle(Bar|Equal)?))?|pf)|u|e(sted(GreaterGreater|LessLess)|wLine|gative(MediumSpace|Thi((?:n|ck)Space)|VeryThinSpace))|Jcy|fr|acute))|(o(s(cr|ol|lash)|h(m|bar)|c(y|ir(c)?)|ti(lde|mes(as)?)|S|int|opf|d(sold|iv|ot|ash|blac)|uml|p(erp|lus|ar)|elig|vbar|f(cir|r)|l(c(ir|ross)|t|ine|arr)|a(st|cute)|r(slope|igof|or|d(er(of)?|[fm])?|v|arr)?|g(t|on|rave)|m(i(nus|cron|d)|ega|acr))|O(s(cr|lash)|c(y|irc)|ti(lde|mes)|opf|dblac|uml|penCurly((?:Double|)Quote)|ver(B(ar|rac(e|ket))|Parenthesis)|fr|Elig|acute|r|grave|m(icron|ega|acr)))|(p(s(cr|i)|h(i(v)?|one|mmat)|cy|i(tchfork|v)?|o(intint|und|pf)|uncsp|er(cnt|tenk|iod|p|mil)|fr|l(us(sim|cir|two|d([ou])|e|acir|mn|b)?|an(ck(h)?|kv))|ar(s(im|l)|t|a(llel)?)?|r(sim|n(sim|E|ap)|cue|ime(s)?|o(d|p(to)?|f(surf|line|alar))|urel|e(c(sim|n(sim|eqq|approx)|curlyeq|eq|approx)?)?|E|ap)?|m)|P(s(cr|i)|hi|cy|i|o(incareplane|pf)|fr|lusMinus|artialD|r(ime|o(duct|portion(al)?)|ecedes(SlantEqual|Tilde|Equal)?)?))|(q(scr|int|opf|u(ot|est(eq)?|at(int|ernions))|prime|fr)|Q(scr|opf|UOT|fr))|(R(s(h|cr)|ho|c(y|edil|aron)|Barr|ight(Ceiling|T(ee(Vector|Arrow)?|riangle(Bar|Equal)?)|Do(ubleBracket|wn(TeeVector|Vector(Bar)?))|Up(TeeVector|DownVector|Vector(Bar)?)|Vector(Bar)?|arrow|Floor|A(ngleBracket|rrow(Bar|LeftArrow)?))|o(undImplies|pf)|uleDelayed|e(verse(UpEquilibrium|E(quilibrium|lement)))?|fr|EG|a(ng|cute|rr(tl)?)|rightarrow)|r(s(h|cr|q(uo(r)?|b)|aquo)|h(o(v)?|ar(d|u(l)?))|nmid|c(y|ub|e(d??il)|aron)|Barr|t(hree|imes|ri([ef]|ltri)?)|i(singdotseq|ng|ght(squigarrow|harpoon(down|up)|threetimes|left(harpoons|arrows)|arrow(tail)?|rightarrows))|Har|o(times|p(f|lus|ar)|a(ng|rr)|brk)|d(sh|ca|quo(r)?|ldhar)|uluhar|p(polint|ar(gt)?)|e(ct|al(s|ine|part)?|g)|f(isht|loor|r)|l(har|arr|m)|a(ng([de]|le)?|c(ute|e)|t(io(nals)?|ail)|dic|emptyv|quo|rr(sim|hk|c|tl|pl|fs|w|lp|ap|b(fs)?)?)|rarr|x|moust(ache)?|b(arr|r(k(sl([du])|e)|ac([ek]))|brk)|A(tail|arr|rr)))|(s(s(cr|tarf|etmn|mile)|h(y|c(hcy|y)|ort(parallel|mid)|arp)|c(sim|y|n(sim|E|ap)|cue|irc|polint|e(dil)?|E|a(p|ron))?|t(ar(f)?|r(ns|aight(phi|epsilon)))|i(gma([fv])?|m(ne|dot|plus|e(q)?|l(E)?|rarr|g(E)?)?)|zlig|o(pf|ftcy|l(b(ar)?)?)|dot([be])?|u(ng|cc(sim|n(sim|eqq|approx)|curlyeq|eq|approx)?|p(s(im|u([bp])|et(neq(q)?|eq(q)?)?)|hs(ol|ub)|1|n([Ee])|2|d(sub|ot)|3|plus|e(dot)?|E|larr|mult)?|m|b(s(im|u([bp])|et(neq(q)?|eq(q)?)?)|n([Ee])|dot|plus|e(dot)?|E|rarr|mult)?)|pa(des(uit)?|r)|e(swar|ct|tm(n|inus)|ar(hk|r(ow)?)|xt|mi|Arr)|q(su(p(set(eq)?|e)?|b(set(eq)?|e)?)|c(up(s)?|ap(s)?)|u(f|ar([ef]))?)|fr(own)?|w(nwar|ar(hk|r(ow)?)|Arr)|larr|acute|rarr|m(t(e(s)?)?|i(d|le)|eparsl|a(shp|llsetminus))|bquo)|S(scr|hort((?:Right|Down|Up|Left)Arrow)|c(y|irc|edil|aron)?|tar|igma|H(cy|CHcy)|opf|u(c(hThat|ceeds(SlantEqual|Tilde|Equal)?)|p(set|erset(Equal)?)?|m|b(set(Equal)?)?)|OFTcy|q(uare(Su(perset(Equal)?|bset(Equal)?)|Intersection|Union)?|rt)|fr|acute|mallCircle))|(t(s(hcy|c([ry])|trok)|h(i(nsp|ck(sim|approx))|orn|e(ta(sym|v)?|re(4|fore))|k(sim|ap))|c(y|edil|aron)|i(nt|lde|mes(d|b(ar)?)?)|o(sa|p(cir|f(ork)?|bot)?|ea)|dot|prime|elrec|fr|w(ixt|ohead((?:lef|righ)tarrow))|a(u|rget)|r(i(sb|time|dot|plus|e|angle(down|q|left(eq)?|right(eq)?)?|minus)|pezium|ade)|brk)|T(s(cr|trok)|RADE|h(i((?:n|ck)Space)|e(ta|refore))|c(y|edil|aron)|S(H??cy)|ilde(Tilde|Equal|FullEqual)?|HORN|opf|fr|a([bu])|ripleDot))|(u(scr|h(ar([lr])|blk)|c(y|irc)|t(ilde|dot|ri(f)?)|Har|o(pf|gon)|d(har|arr|blac)|u(arr|ml)|p(si(h|lon)?|harpoon(left|right)|downarrow|uparrows|lus|arrow)|f(isht|r)|wangle|l(c(orn(er)?|rop)|tri)|a(cute|rr)|r(c(orn(er)?|rop)|tri|ing)|grave|m(l|acr)|br(cy|eve)|Arr)|U(scr|n(ion(Plus)?|der(B(ar|rac(e|ket))|Parenthesis))|c(y|irc)|tilde|o(pf|gon)|dblac|uml|p(si(lon)?|downarrow|Tee(Arrow)?|per((?:Righ|Lef)tArrow)|DownArrow|Equilibrium|arrow|Arrow(Bar|DownArrow)?)|fr|a(cute|rr(ocir)?)|ring|grave|macr|br(cy|eve)))|(v(s(cr|u(pn([Ee])|bn([Ee])))|nsu([bp])|cy|Bar(v)?|zigzag|opf|dash|prop|e(e(eq|bar)?|llip|r(t|bar))|Dash|fr|ltri|a(ngrt|r(s(igma|u(psetneq(q)?|bsetneq(q)?))|nothing|t(heta|riangle(left|right))|p(hi|i|ropto)|epsilon|kappa|r(ho)?))|rtri|Arr)|V(scr|cy|opf|dash(l)?|e(e|r(yThinSpace|t(ical(Bar|Separator|Tilde|Line))?|bar))|Dash|vdash|fr|bar))|(w(scr|circ|opf|p|e(ierp|d(ge(q)?|bar))|fr|r(eath)?)|W(scr|circ|opf|edge|fr))|(X(scr|i|opf|fr)|x(s(cr|qcup)|h([Aa]rr)|nis|c(irc|up|ap)|i|o(time|dot|p(f|lus))|dtri|u(tri|plus)|vee|fr|wedge|l([Aa]rr)|r([Aa]rr)|map))|(y(scr|c(y|irc)|icy|opf|u(cy|ml)|en|fr|ac(y|ute))|Y(scr|c(y|irc)|opf|uml|Icy|Ucy|fr|acute|Acy))|(z(scr|hcy|c(y|aron)|igrarr|opf|dot|e(ta|etrf)|fr|w(n?j)|acute)|Z(scr|c(y|aron)|Hcy|opf|dot|e(ta|roWidthSpace)|fr|acute)))(;)","name":"constant.character.entity.named.$2.astro"},{"captures":{"1":{"name":"punctuation.definition.entity.astro"},"3":{"name":"punctuation.definition.entity.astro"}},"match":"(&)#[0-9]+(;)","name":"constant.character.entity.numeric.decimal.astro"},{"captures":{"1":{"name":"punctuation.definition.entity.astro"},"3":{"name":"punctuation.definition.entity.astro"}},"match":"(&)#[Xx]\\\\h+(;)","name":"constant.character.entity.numeric.hexadecimal.astro"},{"match":"&(?=[0-9A-Za-z]+;)","name":"invalid.illegal.ambiguous-ampersand.astro"}]},"frontmatter":{"begin":"\\\\A(-{3})\\\\s*$","beginCaptures":{"1":{"name":"comment"}},"contentName":"source.ts","end":"(^|\\\\G)(-{3})|\\\\.{3}\\\\s*$","endCaptures":{"2":{"name":"comment"}},"patterns":[{"include":"source.ts"}]},"interpolation":{"patterns":[{"begin":"\\\\{","beginCaptures":{"0":{"name":"punctuation.section.embedded.begin.astro"}},"contentName":"meta.embedded.expression.astro source.tsx","end":"}","endCaptures":{"0":{"name":"punctuation.section.embedded.end.astro"}},"patterns":[{"begin":"\\\\G\\\\s*(?=\\\\{)","end":"(?<=})","patterns":[{"include":"source.tsx#object-literal"}]},{"include":"source.tsx"}]}]},"scope":{"patterns":[{"include":"#comments"},{"include":"#tags"},{"include":"#interpolation"},{"include":"#entities"}]},"tags":{"patterns":[{"include":"#tags-raw"},{"include":"#tags-lang"},{"include":"#tags-void"},{"include":"#tags-general-end"},{"include":"#tags-general-start"}]},"tags-end-node":{"captures":{"1":{"name":"meta.tag.end.astro punctuation.definition.tag.begin.astro"},"2":{"name":"meta.tag.end.astro","patterns":[{"include":"#tags-name"}]},"3":{"name":"meta.tag.end.astro punctuation.definition.tag.end.astro"},"4":{"name":"meta.tag.start.astro punctuation.definition.tag.end.astro"}},"match":"(</)(.*?)\\\\s*(>)|(/>)"},"tags-general-end":{"begin":"(</)([^/>\\\\s]*)","beginCaptures":{"1":{"name":"meta.tag.end.astro punctuation.definition.tag.begin.astro"},"2":{"name":"meta.tag.end.astro","patterns":[{"include":"#tags-name"}]}},"end":"(>)","endCaptures":{"1":{"name":"meta.tag.end.astro punctuation.definition.tag.end.astro"}},"name":"meta.scope.tag.$2.astro"},"tags-general-start":{"begin":"(<)([^/>\\\\s]*)","beginCaptures":{"0":{"patterns":[{"include":"#tags-start-node"}]}},"end":"(/?>)","endCaptures":{"1":{"name":"meta.tag.start.astro punctuation.definition.tag.end.astro"}},"name":"meta.scope.tag.$2.astro","patterns":[{"include":"#tags-start-attributes"}]},"tags-lang":{"begin":"<(s(?:cript|tyle))","beginCaptures":{"0":{"patterns":[{"include":"#tags-start-node"}]}},"end":"</\\\\1\\\\s*>|/>","endCaptures":{"0":{"patterns":[{"include":"#tags-end-node"}]}},"name":"meta.scope.tag.$1.astro meta.$1.astro","patterns":[{"begin":"\\\\G(?=\\\\s*[^>]*?(type|lang)\\\\s*=\\\\s*([\\"']?)(?:text/)?(application/ld\\\\+json)\\\\2)","end":"(?=</|/>)","name":"meta.lang.json.astro","patterns":[{"include":"#tags-lang-start-attributes"}]},{"begin":"\\\\G(?=\\\\s*[^>]*?(type|lang)\\\\s*=\\\\s*([\\"']?)(module)\\\\2)","end":"(?=</|/>)","name":"meta.lang.javascript.astro","patterns":[{"include":"#tags-lang-start-attributes"}]},{"begin":"\\\\G(?=\\\\s*[^>]*?(type|lang)\\\\s*=\\\\s*([\\"']?)(?:text/|application/)?([+/\\\\w]+)\\\\2)","end":"(?=</|/>)","name":"meta.lang.$3.astro","patterns":[{"include":"#tags-lang-start-attributes"}]},{"include":"#tags-lang-start-attributes"}]},"tags-lang-start-attributes":{"begin":"\\\\G","end":"(?=/>)|>","endCaptures":{"0":{"name":"punctuation.definition.tag.end.astro"}},"name":"meta.tag.start.astro","patterns":[{"include":"#attributes"}]},"tags-name":{"patterns":[{"match":"[A-Z][0-9A-Z_a-z]*","name":"support.class.component.astro"},{"match":"[a-z][0-:\\\\w]*-[-0-:\\\\w]*","name":"meta.tag.custom.astro entity.name.tag.astro"},{"match":"[a-z][-0-:\\\\w]*","name":"entity.name.tag.astro"}]},"tags-raw":{"begin":"<([^!/<>?\\\\s]+)(?=[^>]+is:raw).*?","beginCaptures":{"0":{"patterns":[{"include":"#tags-start-node"}]}},"contentName":"source.unknown","end":"</\\\\1\\\\s*>|/>","endCaptures":{"0":{"patterns":[{"include":"#tags-end-node"}]}},"name":"meta.scope.tag.$1.astro meta.raw.astro","patterns":[{"include":"#tags-lang-start-attributes"}]},"tags-start-attributes":{"begin":"\\\\G","end":"(?=/?>)","name":"meta.tag.start.astro","patterns":[{"include":"#attributes"}]},"tags-start-node":{"captures":{"1":{"name":"punctuation.definition.tag.begin.astro"},"2":{"patterns":[{"include":"#tags-name"}]}},"match":"(<)([^/>\\\\s]*)","name":"meta.tag.start.astro"},"tags-void":{"begin":"(<)(area|base|br|col|embed|hr|img|input|link|meta|param|source|track|wbr)(?=\\\\s|/?>)","beginCaptures":{"1":{"name":"punctuation.definition.tag.begin.astro"},"2":{"name":"entity.name.tag.astro"}},"end":"/?>","endCaptures":{"0":{"name":"punctuation.definition.tag.begin.astro"}},"name":"meta.tag.void.astro","patterns":[{"include":"#attributes"}]},"text":{"patterns":[{"begin":"(?<=^|---|[>}])","end":"(?=[<{]|$)","name":"text.astro","patterns":[{"include":"#entities"}]}]}},"scopeName":"source.astro","embeddedLangs":["json","javascript","typescript","css","postcss","tsx"],"embeddedLangsLazy":["sass","scss","stylus","less"]}`)),s=[...e,...t,...n,...r,...i,...a,o];export{s as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{t as e}from"./c-SSSlmE39.js";export{e as default};
|