@potential-agents/cli 0.1.2 → 0.1.3
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 +4 -2
- package/dist/adapters/outbound/filesystem/bundle-filesystem-repository.d.ts +2 -0
- package/dist/adapters/outbound/filesystem/bundle-filesystem-repository.js +11 -10
- package/dist/adapters/outbound/filesystem/bundle-filesystem-repository.js.map +1 -1
- package/dist/adapters/outbound/http/http-potential-agents-api.d.ts +2 -0
- package/dist/adapters/outbound/http/http-potential-agents-api.js +14 -6
- package/dist/adapters/outbound/http/http-potential-agents-api.js.map +1 -1
- package/dist/cli.js +1 -1
- package/dist/cli.js.map +1 -1
- package/dist/domain/skill-serialization.d.ts +8 -0
- package/dist/domain/skill-serialization.js +10 -0
- package/dist/domain/skill-serialization.js.map +1 -0
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -16,7 +16,7 @@ p-agents validate
|
|
|
16
16
|
CI should pin the version it executes:
|
|
17
17
|
|
|
18
18
|
```bash
|
|
19
|
-
npx --yes @potential-agents/cli@0.1.
|
|
19
|
+
npx --yes @potential-agents/cli@0.1.3 validate
|
|
20
20
|
```
|
|
21
21
|
|
|
22
22
|
## Bundle
|
|
@@ -42,13 +42,15 @@ the bundle:
|
|
|
42
42
|
```bash
|
|
43
43
|
export POTENTIAL_AGENTS_API_URL=https://api.example.com
|
|
44
44
|
export POTENTIAL_AGENTS_ORGANIZATION=org_example
|
|
45
|
-
export POTENTIAL_AGENTS_TOKEN=
|
|
45
|
+
export POTENTIAL_AGENTS_TOKEN=opaque_service_credential
|
|
46
46
|
|
|
47
47
|
p-agents plan
|
|
48
48
|
p-agents apply
|
|
49
49
|
```
|
|
50
50
|
|
|
51
51
|
`apply` writes `potential.lock`. Commit that generated identity with the reviewed source bundle.
|
|
52
|
+
The credential is intentionally kept out of `potential.md` and `potential.lock`; set it via a
|
|
53
|
+
local secret manager or a GitHub deployment-environment secret.
|
|
52
54
|
|
|
53
55
|
## Architecture
|
|
54
56
|
|
|
@@ -12,6 +12,8 @@ export declare class FilesystemBundleRepository implements BundleRepository {
|
|
|
12
12
|
private _readSkill;
|
|
13
13
|
/** Lists UTF-8 skill support files in a stable recursive order and rejects symlinks. */
|
|
14
14
|
private _listFiles;
|
|
15
|
+
/** Reads a skill directory in the exact canonical form sent to the public API. */
|
|
16
|
+
private _skillFiles;
|
|
15
17
|
private _readUtf8;
|
|
16
18
|
private _string;
|
|
17
19
|
private _number;
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import { createHash } from 'node:crypto';
|
|
2
1
|
import { lstat, mkdir, readdir, readFile, stat, writeFile } from 'node:fs/promises';
|
|
3
2
|
import { basename, relative, resolve, sep } from 'node:path';
|
|
4
3
|
import { parseDocument } from 'yaml';
|
|
5
4
|
import { AgentDefinition } from '../../../domain/agent-definition.js';
|
|
6
5
|
import { Bundle } from '../../../domain/bundle.js';
|
|
7
6
|
import { PotentialAgentsError, validationError } from '../../../domain/errors.js';
|
|
7
|
+
import { skillSha256 } from '../../../domain/skill-serialization.js';
|
|
8
8
|
const TEMPLATE = `---
|
|
9
9
|
apiVersion: potentialagents/v1alpha1
|
|
10
10
|
id: my-agent
|
|
@@ -118,15 +118,8 @@ export class FilesystemBundleRepository {
|
|
|
118
118
|
if (!directory.isDirectory())
|
|
119
119
|
throw validationError(`Skill path "${declaredPath}" must be a directory.`);
|
|
120
120
|
await stat(resolve(absolute, 'SKILL.md'));
|
|
121
|
-
const files = await this.
|
|
122
|
-
|
|
123
|
-
for (const file of files) {
|
|
124
|
-
hash.update(relative(root, file).replaceAll('\\', '/'));
|
|
125
|
-
hash.update('\0');
|
|
126
|
-
hash.update(await readFile(file));
|
|
127
|
-
hash.update('\0');
|
|
128
|
-
}
|
|
129
|
-
return { path: `./${relativePath.replaceAll('\\', '/')}`, name: basename(absolute), sha256: `sha256:${hash.digest('hex')}`, sourceDirectory: absolute };
|
|
121
|
+
const files = await this._skillFiles(absolute);
|
|
122
|
+
return { path: `./${relativePath.replaceAll('\\', '/')}`, name: basename(absolute), sha256: skillSha256(files), sourceDirectory: absolute };
|
|
130
123
|
}
|
|
131
124
|
/** Lists UTF-8 skill support files in a stable recursive order and rejects symlinks. */
|
|
132
125
|
async _listFiles(directory, root) {
|
|
@@ -145,6 +138,14 @@ export class FilesystemBundleRepository {
|
|
|
145
138
|
}
|
|
146
139
|
return files;
|
|
147
140
|
}
|
|
141
|
+
/** Reads a skill directory in the exact canonical form sent to the public API. */
|
|
142
|
+
async _skillFiles(directory) {
|
|
143
|
+
const files = await this._listFiles(directory, directory);
|
|
144
|
+
return Promise.all(files.map(async (file) => ({
|
|
145
|
+
path: relative(directory, file).replaceAll('\\', '/'),
|
|
146
|
+
content: await this._readUtf8(file, relative(directory, file)),
|
|
147
|
+
})));
|
|
148
|
+
}
|
|
148
149
|
async _readUtf8(path, label) {
|
|
149
150
|
try {
|
|
150
151
|
return await readFile(path, 'utf8');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bundle-filesystem-repository.js","sourceRoot":"","sources":["../../../../src/adapters/outbound/filesystem/bundle-filesystem-repository.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"bundle-filesystem-repository.js","sourceRoot":"","sources":["../../../../src/adapters/outbound/filesystem/bundle-filesystem-repository.ts"],"names":[],"mappings":"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"}
|
|
@@ -26,6 +26,8 @@ export declare class HttpPotentialAgentsApi implements PotentialAgentsApi {
|
|
|
26
26
|
private _intent;
|
|
27
27
|
/** Loads a small, explicit UTF-8 skill directory for the public immutable-skill API. */
|
|
28
28
|
private _skillContent;
|
|
29
|
+
/** Converts the public digest spelling to the internal immutable revision digest. */
|
|
30
|
+
private _rawSha256;
|
|
29
31
|
/** Sends one authenticated JSON request and converts server failures to safe typed errors. */
|
|
30
32
|
private _json;
|
|
31
33
|
private _parseJson;
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { lstat, readdir, readFile } from 'node:fs/promises';
|
|
2
2
|
import { relative, resolve } from 'node:path';
|
|
3
3
|
import { PotentialAgentsError } from '../../../domain/errors.js';
|
|
4
|
+
import { skillSha256 } from '../../../domain/skill-serialization.js';
|
|
4
5
|
/** HTTPS adapter for the public Potential Agents control-plane contract. */
|
|
5
6
|
export class HttpPotentialAgentsApi {
|
|
6
7
|
options;
|
|
@@ -19,6 +20,8 @@ export class HttpPotentialAgentsApi {
|
|
|
19
20
|
}
|
|
20
21
|
async uploadSkill(organizationId, skill) {
|
|
21
22
|
const content = await this._skillContent(skill.sourceDirectory);
|
|
23
|
+
if (skillSha256(content) !== skill.sha256)
|
|
24
|
+
throw new PotentialAgentsError('VALIDATION_ERROR', `Skill changed while preparing upload: ${skill.path}.`);
|
|
22
25
|
const response = await this._json('POST', '/v1/skills:publish', {
|
|
23
26
|
organization_id: organizationId,
|
|
24
27
|
name: skill.name,
|
|
@@ -34,20 +37,18 @@ export class HttpPotentialAgentsApi {
|
|
|
34
37
|
async createAgent(organizationId, bundle, skills, idempotencyKey) {
|
|
35
38
|
const response = await this._json('POST', '/v1/managed-agents', {
|
|
36
39
|
organization_id: organizationId,
|
|
37
|
-
definition_sha256: bundle.definitionSha256,
|
|
38
40
|
...this._intent(bundle, skills),
|
|
39
41
|
}, { 'Idempotency-Key': idempotencyKey });
|
|
40
42
|
return this._remoteAgent(response);
|
|
41
43
|
}
|
|
42
44
|
async createRevision(organizationId, remoteId, bundle, skills, idempotencyKey) {
|
|
43
45
|
const response = await this._json('POST', `/v1/managed-agents/${encodeURIComponent(remoteId)}/revisions`, {
|
|
44
|
-
definition_sha256: bundle.definitionSha256,
|
|
45
46
|
...this._intent(bundle, skills),
|
|
46
|
-
}, { 'Idempotency-Key': idempotencyKey, 'X-
|
|
47
|
+
}, { 'Idempotency-Key': idempotencyKey, 'X-Organization-Id': organizationId });
|
|
47
48
|
return this._remoteAgent(response);
|
|
48
49
|
}
|
|
49
50
|
async getAgent(organizationId, remoteId) {
|
|
50
|
-
const response = await this._json('GET', `/v1/managed-agents/${encodeURIComponent(remoteId)}`, undefined, { 'X-
|
|
51
|
+
const response = await this._json('GET', `/v1/managed-agents/${encodeURIComponent(remoteId)}`, undefined, { 'X-Organization-Id': organizationId });
|
|
51
52
|
return this._remoteAgent(response);
|
|
52
53
|
}
|
|
53
54
|
async createSession(organizationId, remoteId) {
|
|
@@ -59,7 +60,7 @@ export class HttpPotentialAgentsApi {
|
|
|
59
60
|
return { runId: this._string(response.run_id, 'run_id'), status: this._string(response.status, 'status') };
|
|
60
61
|
}
|
|
61
62
|
async archiveAgent(organizationId, remoteId) {
|
|
62
|
-
await this._json('DELETE', `/v1/managed-agents/${encodeURIComponent(remoteId)}`, undefined, { 'X-
|
|
63
|
+
await this._json('DELETE', `/v1/managed-agents/${encodeURIComponent(remoteId)}`, undefined, { 'X-Organization-Id': organizationId });
|
|
63
64
|
}
|
|
64
65
|
/** Constructs only public logical runtime intent; profile IDs cannot enter this adapter. */
|
|
65
66
|
_intent(bundle, skills) {
|
|
@@ -70,7 +71,7 @@ export class HttpPotentialAgentsApi {
|
|
|
70
71
|
instructions: bundle.definition.instructions,
|
|
71
72
|
input_schema: { type: 'object', additionalProperties: true },
|
|
72
73
|
output_schema: { type: 'object', additionalProperties: true },
|
|
73
|
-
skills: skills.map((skill) => ({ skill_id: skill.skillId,
|
|
74
|
+
skills: skills.map((skill) => ({ skill_id: skill.skillId, skill_revision_id: skill.revision, sha256: this._rawSha256(skill.sha256) })),
|
|
74
75
|
},
|
|
75
76
|
execution: {
|
|
76
77
|
tools: bundle.definition.tools,
|
|
@@ -98,6 +99,13 @@ export class HttpPotentialAgentsApi {
|
|
|
98
99
|
}
|
|
99
100
|
return files;
|
|
100
101
|
}
|
|
102
|
+
/** Converts the public digest spelling to the internal immutable revision digest. */
|
|
103
|
+
_rawSha256(value) {
|
|
104
|
+
const normalized = value.replace(/^sha256:/u, '');
|
|
105
|
+
if (!/^[a-f0-9]{64}$/u.test(normalized))
|
|
106
|
+
throw new PotentialAgentsError('API_PROTOCOL_ERROR', 'Skill revision has an invalid sha256.');
|
|
107
|
+
return normalized;
|
|
108
|
+
}
|
|
101
109
|
/** Sends one authenticated JSON request and converts server failures to safe typed errors. */
|
|
102
110
|
async _json(method, path, body, headers = {}) {
|
|
103
111
|
const response = await fetch(`${this.baseUrl}${path}`, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"http-potential-agents-api.js","sourceRoot":"","sources":["../../../../src/adapters/outbound/http/http-potential-agents-api.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5D,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAG9C,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;
|
|
1
|
+
{"version":3,"file":"http-potential-agents-api.js","sourceRoot":"","sources":["../../../../src/adapters/outbound/http/http-potential-agents-api.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5D,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAG9C,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AACjE,OAAO,EAAE,WAAW,EAAkB,MAAM,wCAAwC,CAAC;AAOrF,4EAA4E;AAC5E,MAAM,OAAO,sBAAsB;IAGG;IAFnB,OAAO,CAAS;IAEjC,YAAoC,OAAuB;QAAvB,YAAO,GAAP,OAAO,CAAgB;QACzD,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;IACrD,CAAC;IAEM,KAAK,CAAC,IAAI,CAAC,cAAsB,EAAE,MAAc,EAAE,QAAiB;QACzE,OAAO,IAAI,CAAC,KAAK,CAAa,MAAM,EAAE,yBAAyB,EAAE;YAC/D,eAAe,EAAE,cAAc;YAC/B,SAAS,EAAE,QAAQ;YACnB,iBAAiB,EAAE,MAAM,CAAC,gBAAgB;YAC1C,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC;SACjC,CAAC,CAAC;IACL,CAAC;IAEM,KAAK,CAAC,WAAW,CAAC,cAAsB,EAAE,KAAkB;QACjE,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;QAChE,IAAI,WAAW,CAAC,OAAO,CAAC,KAAK,KAAK,CAAC,MAAM;YAAE,MAAM,IAAI,oBAAoB,CAAC,kBAAkB,EAAE,yCAAyC,KAAK,CAAC,IAAI,GAAG,CAAC,CAAC;QACtJ,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,KAAK,CAA0B,MAAM,EAAE,oBAAoB,EAAE;YACvF,eAAe,EAAE,cAAc;YAC/B,IAAI,EAAE,KAAK,CAAC,IAAI;YAChB,MAAM,EAAE,KAAK,CAAC,MAAM;YACpB,KAAK,EAAE,OAAO;SACf,CAAC,CAAC;QACH,OAAO;YACL,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,QAAQ,EAAE,UAAU,CAAC;YACpD,QAAQ,EAAE,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,QAAQ,EAAE,UAAU,CAAC;YACrD,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC;SAChD,CAAC;IACJ,CAAC;IAEM,KAAK,CAAC,WAAW,CAAC,cAAsB,EAAE,MAAc,EAAE,MAAmC,EAAE,cAAsB;QAC1H,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,KAAK,CAA0B,MAAM,EAAE,oBAAoB,EAAE;YACvF,eAAe,EAAE,cAAc;YAC/B,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,MAAM,CAAC;SAChC,EAAE,EAAE,iBAAiB,EAAE,cAAc,EAAE,CAAC,CAAC;QAC1C,OAAO,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;IACrC,CAAC;IAEM,KAAK,CAAC,cAAc,CAAC,cAAsB,EAAE,QAAgB,EAAE,MAAc,EAAE,MAAmC,EAAE,cAAsB;QAC/I,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,KAAK,CAA0B,MAAM,EAAE,sBAAsB,kBAAkB,CAAC,QAAQ,CAAC,YAAY,EAAE;YACjI,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,MAAM,CAAC;SAChC,EAAE,EAAE,iBAAiB,EAAE,cAAc,EAAE,mBAAmB,EAAE,cAAc,EAAE,CAAC,CAAC;QAC/E,OAAO,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;IACrC,CAAC;IAEM,KAAK,CAAC,QAAQ,CAAC,cAAsB,EAAE,QAAgB;QAC5D,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,KAAK,CAA0B,KAAK,EAAE,sBAAsB,kBAAkB,CAAC,QAAQ,CAAC,EAAE,EAAE,SAAS,EAAE,EAAE,mBAAmB,EAAE,cAAc,EAAE,CAAC,CAAC;QAC5K,OAAO,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;IACrC,CAAC;IAEM,KAAK,CAAC,aAAa,CAAC,cAAsB,EAAE,QAAgB;QACjE,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,KAAK,CAA0B,MAAM,EAAE,sBAAsB,kBAAkB,CAAC,QAAQ,CAAC,WAAW,EAAE,EAAE,eAAe,EAAE,cAAc,EAAE,CAAC,CAAC;QACvK,OAAO,EAAE,SAAS,EAAE,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,UAAU,EAAE,YAAY,CAAC,EAAE,CAAC;IACxE,CAAC;IAEM,KAAK,CAAC,SAAS,CAAC,SAAiB,EAAE,OAAe,EAAE,cAAsB;QAC/E,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,KAAK,CAA0B,MAAM,EAAE,gBAAgB,kBAAkB,CAAC,SAAS,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,EAAE,EAAE,iBAAiB,EAAE,cAAc,EAAE,CAAC,CAAC;QAClN,OAAO,EAAE,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC,EAAE,CAAC;IAC7G,CAAC;IAEM,KAAK,CAAC,YAAY,CAAC,cAAsB,EAAE,QAAgB;QAChE,MAAM,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,sBAAsB,kBAAkB,CAAC,QAAQ,CAAC,EAAE,EAAE,SAAS,EAAE,EAAE,mBAAmB,EAAE,cAAc,EAAE,CAAC,CAAC;IACvI,CAAC;IAED,4FAA4F;IACpF,OAAO,CAAC,MAAc,EAAE,MAAmC;QACjE,OAAO;YACL,KAAK,EAAE,EAAE,IAAI,EAAE,MAAM,CAAC,UAAU,CAAC,IAAI,EAAE,GAAG,CAAC,MAAM,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,MAAM,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE;YACjI,OAAO,EAAE,EAAE,MAAM,EAAE,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC,UAAU,CAAC,KAAK,EAAE;YAC7E,QAAQ,EAAE;gBACR,YAAY,EAAE,MAAM,CAAC,UAAU,CAAC,YAAY;gBAC5C,YAAY,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,oBAAoB,EAAE,IAAI,EAAE;gBAC5D,aAAa,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,oBAAoB,EAAE,IAAI,EAAE;gBAC7D,MAAM,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,EAAE,QAAQ,EAAE,KAAK,CAAC,OAAO,EAAE,iBAAiB,EAAE,KAAK,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;aACvI;YACD,SAAS,EAAE;gBACT,KAAK,EAAE,MAAM,CAAC,UAAU,CAAC,KAAK;gBAC9B,OAAO,EAAE,MAAM,CAAC,UAAU,CAAC,OAAO;gBAClC,MAAM,EAAE;oBACN,GAAG,CAAC,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,eAAe,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,gBAAgB,EAAE,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,eAAe,EAAE,CAAC;oBACjI,GAAG,CAAC,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,YAAY,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,YAAY,EAAE,CAAC;iBAC1H;aACF;SACF,CAAC;IACJ,CAAC;IAED,wFAAwF;IAChF,KAAK,CAAC,aAAa,CAAC,SAAiB,EAAE,IAAI,GAAG,SAAS;QAC7D,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,SAAS,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;QAClE,MAAM,KAAK,GAAwC,EAAE,CAAC;QACtD,KAAK,MAAM,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC;YACvF,MAAM,IAAI,GAAG,OAAO,CAAC,SAAS,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;YAC5C,MAAM,IAAI,GAAG,MAAM,KAAK,CAAC,IAAI,CAAC,CAAC;YAC/B,IAAI,IAAI,CAAC,cAAc,EAAE;gBAAE,MAAM,IAAI,oBAAoB,CAAC,kBAAkB,EAAE,oCAAoC,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC;YAC3I,IAAI,IAAI,CAAC,WAAW,EAAE;gBAAE,KAAK,CAAC,IAAI,CAAC,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC;iBACvE,IAAI,IAAI,CAAC,MAAM,EAAE;gBAAE,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,UAAU,CAAC,IAAI,EAAE,GAAG,CAAC,EAAE,OAAO,EAAE,MAAM,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC;QAClI,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAED,qFAAqF;IAC7E,UAAU,CAAC,KAAa;QAC9B,MAAM,UAAU,GAAG,KAAK,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;QAClD,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,UAAU,CAAC;YAAE,MAAM,IAAI,oBAAoB,CAAC,oBAAoB,EAAE,uCAAuC,CAAC,CAAC;QACvI,OAAO,UAAU,CAAC;IACpB,CAAC;IAED,8FAA8F;IACtF,KAAK,CAAC,KAAK,CAAI,MAAc,EAAE,IAAY,EAAE,IAAc,EAAE,UAAkC,EAAE;QACvG,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,IAAI,CAAC,OAAO,GAAG,IAAI,EAAE,EAAE;YACrD,MAAM;YACN,OAAO,EAAE;gBACP,MAAM,EAAE,kBAAkB;gBAC1B,GAAG,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,kBAAkB,EAAE,CAAC;gBACrE,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,UAAU,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC5F,GAAG,OAAO;aACX;YACD,GAAG,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC;SAC9D,CAAC,CAAC;QACH,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;QACnC,MAAM,MAAM,GAAY,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QACjE,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;YACjB,MAAM,OAAO,GAAG,MAAM,KAAK,IAAI,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,OAAO,IAAI,MAAM;gBAChF,CAAC,CAAC,iCAAiC,QAAQ,CAAC,MAAM,KAAK,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE;gBACzF,CAAC,CAAC,iCAAiC,QAAQ,CAAC,MAAM,GAAG,CAAC;YACxD,MAAM,IAAI,oBAAoB,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;QACvD,CAAC;QACD,OAAO,MAAW,CAAC;IACrB,CAAC;IAEO,UAAU,CAAC,IAAY;QAC7B,IAAI,CAAC;YACH,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAY,CAAC;QACrC,CAAC;QAAC,MAAM,CAAC;YACP,MAAM,IAAI,oBAAoB,CAAC,oBAAoB,EAAE,6CAA6C,CAAC,CAAC;QACtG,CAAC;IACH,CAAC;IAEO,aAAa,CAAC,KAAc;QAClC,IAAI,KAAK,KAAK,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,SAAS,IAAI,KAAK,IAAI,OAAO,KAAK,CAAC,OAAO,KAAK,QAAQ;YAAE,OAAO,KAAK,CAAC,OAAO,CAAC;QACjI,OAAO,gBAAgB,CAAC;IAC1B,CAAC;IAEO,OAAO,CAAC,KAAc,EAAE,KAAa;QAC3C,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,KAAK;YAAE,MAAM,IAAI,oBAAoB,CAAC,oBAAoB,EAAE,uCAAuC,KAAK,GAAG,CAAC,CAAC;QAC/I,OAAO,KAAK,CAAC;IACf,CAAC;IAEO,YAAY,CAAC,QAAiC;QACpD,OAAO;YACL,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,QAAQ,EAAE,UAAU,CAAC;YACpD,cAAc,EAAE,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,eAAe,EAAE,iBAAiB,CAAC;YACzE,YAAY,EAAE,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,aAAa,EAAE,eAAe,CAAC;YACnE,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC;SAChD,CAAC;IACJ,CAAC;CACF"}
|
package/dist/cli.js
CHANGED
|
@@ -15,7 +15,7 @@ export const createProgram = () => {
|
|
|
15
15
|
.version(packageMetadata.version)
|
|
16
16
|
.option('--api-url <url>', 'Potential Agents public API URL', process.env.POTENTIAL_AGENTS_API_URL)
|
|
17
17
|
.option('--organization <id>', 'Potential Agents organization ID', process.env.POTENTIAL_AGENTS_ORGANIZATION)
|
|
18
|
-
.option('--token <token>', '
|
|
18
|
+
.option('--token <token>', 'Potential Agents opaque service credential', process.env.POTENTIAL_AGENTS_TOKEN)
|
|
19
19
|
.option('--json', 'print machine-readable JSON');
|
|
20
20
|
program.command('init [path]')
|
|
21
21
|
.option('--force', 'overwrite an existing potential.md')
|
package/dist/cli.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAC3D,OAAO,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAS1D,MAAM,IAAI,GAAG,IAAI,kBAAkB,EAAE,CAAC;AACtC,MAAM,eAAe,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,iBAAiB,CAAiC,CAAC;AAE1G,2FAA2F;AAC3F,MAAM,CAAC,MAAM,aAAa,GAAG,GAAY,EAAE;IACzC,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE,CAAC;IAC9B,OAAO;SACJ,IAAI,CAAC,UAAU,CAAC;SAChB,WAAW,CAAC,6CAA6C,CAAC;SAC1D,OAAO,CAAC,eAAe,CAAC,OAAO,CAAC;SAChC,MAAM,CAAC,iBAAiB,EAAE,iCAAiC,EAAE,OAAO,CAAC,GAAG,CAAC,wBAAwB,CAAC;SAClG,MAAM,CAAC,qBAAqB,EAAE,kCAAkC,EAAE,OAAO,CAAC,GAAG,CAAC,6BAA6B,CAAC;SAC5G,MAAM,CAAC,iBAAiB,EAAE,
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
export interface SkillFile {
|
|
2
|
+
readonly path: string;
|
|
3
|
+
readonly content: string;
|
|
4
|
+
}
|
|
5
|
+
/** Serializes an immutable skill directory into the bounded Markdown payload Runtime delivers. */
|
|
6
|
+
export declare const serializeSkillFiles: (files: readonly SkillFile[]) => string;
|
|
7
|
+
/** Produces the public immutable content hash for one serialized consumer skill. */
|
|
8
|
+
export declare const skillSha256: (files: readonly SkillFile[]) => string;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { createHash } from 'node:crypto';
|
|
2
|
+
/** Serializes an immutable skill directory into the bounded Markdown payload Runtime delivers. */
|
|
3
|
+
export const serializeSkillFiles = (files) => files
|
|
4
|
+
.slice()
|
|
5
|
+
.sort((left, right) => left.path.localeCompare(right.path))
|
|
6
|
+
.map((file) => `<!-- potential-agents-file:${file.path} -->\n${file.content}`)
|
|
7
|
+
.join('\n');
|
|
8
|
+
/** Produces the public immutable content hash for one serialized consumer skill. */
|
|
9
|
+
export const skillSha256 = (files) => `sha256:${createHash('sha256').update(serializeSkillFiles(files), 'utf8').digest('hex')}`;
|
|
10
|
+
//# sourceMappingURL=skill-serialization.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"skill-serialization.js","sourceRoot":"","sources":["../../src/domain/skill-serialization.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAOzC,kGAAkG;AAClG,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,KAA2B,EAAU,EAAE,CAAC,KAAK;KAC9E,KAAK,EAAE;KACP,IAAI,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;KAC1D,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,8BAA8B,IAAI,CAAC,IAAI,SAAS,IAAI,CAAC,OAAO,EAAE,CAAC;KAC7E,IAAI,CAAC,IAAI,CAAC,CAAC;AAEd,oFAAoF;AACpF,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,KAA2B,EAAU,EAAE,CACjE,UAAU,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,mBAAmB,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC"}
|