@stigmer/sdk 3.2.2 → 3.3.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/__tests__/errors.test.js +44 -1
- package/__tests__/errors.test.js.map +1 -1
- package/__tests__/manifest.test.d.ts +2 -0
- package/__tests__/manifest.test.d.ts.map +1 -0
- package/__tests__/manifest.test.js +229 -0
- package/__tests__/manifest.test.js.map +1 -0
- package/billing.d.ts +83 -1
- package/billing.d.ts.map +1 -1
- package/billing.js +91 -1
- package/billing.js.map +1 -1
- package/cursor-accounts.d.ts +94 -0
- package/cursor-accounts.d.ts.map +1 -0
- package/cursor-accounts.js +119 -0
- package/cursor-accounts.js.map +1 -0
- package/errors.d.ts +14 -0
- package/errors.d.ts.map +1 -1
- package/errors.js +26 -0
- package/errors.js.map +1 -1
- package/execution/approval-provenance.d.ts.map +1 -1
- package/execution/approval-provenance.js +7 -0
- package/execution/approval-provenance.js.map +1 -1
- package/gen/agent.d.ts +5 -0
- package/gen/agent.d.ts.map +1 -1
- package/gen/agent.js +9 -1
- package/gen/agent.js.map +1 -1
- package/gen/agentexecution.d.ts +3 -1
- package/gen/agentexecution.d.ts.map +1 -1
- package/gen/agentexecution.js +4 -0
- package/gen/agentexecution.js.map +1 -1
- package/gen/agentinstance.d.ts +1 -0
- package/gen/agentinstance.d.ts.map +1 -1
- package/gen/agentinstance.js +1 -0
- package/gen/agentinstance.js.map +1 -1
- package/gen/authorization-config.d.ts.map +1 -1
- package/gen/authorization-config.js +1 -0
- package/gen/authorization-config.js.map +1 -1
- package/gen/client.d.ts +6 -2
- package/gen/client.d.ts.map +1 -1
- package/gen/client.js +4 -0
- package/gen/client.js.map +1 -1
- package/gen/datastore.d.ts +128 -0
- package/gen/datastore.d.ts.map +1 -0
- package/gen/datastore.js +302 -0
- package/gen/datastore.js.map +1 -0
- package/gen/session.d.ts +1 -0
- package/gen/session.d.ts.map +1 -1
- package/gen/session.js +1 -0
- package/gen/session.js.map +1 -1
- package/index.d.ts +5 -3
- package/index.d.ts.map +1 -1
- package/index.js +7 -3
- package/index.js.map +1 -1
- package/manifest/client.d.ts +64 -0
- package/manifest/client.d.ts.map +1 -0
- package/manifest/client.js +109 -0
- package/manifest/client.js.map +1 -0
- package/manifest/index.d.ts +9 -0
- package/manifest/index.d.ts.map +1 -0
- package/manifest/index.js +11 -0
- package/manifest/index.js.map +1 -0
- package/manifest/parse.d.ts +57 -0
- package/manifest/parse.d.ts.map +1 -0
- package/manifest/parse.js +134 -0
- package/manifest/parse.js.map +1 -0
- package/manifest/redaction.d.ts +16 -0
- package/manifest/redaction.d.ts.map +1 -0
- package/manifest/redaction.js +19 -0
- package/manifest/redaction.js.map +1 -0
- package/manifest/registry.d.ts +44 -0
- package/manifest/registry.d.ts.map +1 -0
- package/manifest/registry.js +178 -0
- package/manifest/registry.js.map +1 -0
- package/manifest/serialize.d.ts +24 -0
- package/manifest/serialize.d.ts.map +1 -0
- package/manifest/serialize.js +78 -0
- package/manifest/serialize.js.map +1 -0
- package/package.json +4 -3
- package/src/__tests__/errors.test.ts +58 -0
- package/src/__tests__/manifest.test.ts +271 -0
- package/src/billing.ts +160 -0
- package/src/cursor-accounts.ts +207 -0
- package/src/errors.ts +27 -0
- package/src/execution/approval-provenance.ts +7 -0
- package/src/gen/agent.ts +15 -1
- package/src/gen/agentexecution.ts +5 -1
- package/src/gen/agentinstance.ts +2 -0
- package/src/gen/authorization-config.ts +1 -0
- package/src/gen/client.ts +7 -2
- package/src/gen/datastore.ts +379 -0
- package/src/gen/session.ts +2 -0
- package/src/index.ts +30 -0
- package/src/manifest/client.ts +145 -0
- package/src/manifest/index.ts +25 -0
- package/src/manifest/parse.ts +204 -0
- package/src/manifest/redaction.ts +20 -0
- package/src/manifest/registry.ts +232 -0
- package/src/manifest/serialize.ts +92 -0
- package/src/stigmer.ts +8 -0
- package/stigmer.d.ts +6 -0
- package/stigmer.d.ts.map +1 -1
- package/stigmer.js +8 -0
- package/stigmer.js.map +1 -1
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
// Proto → canonical Stigmer YAML serialization.
|
|
2
|
+
//
|
|
3
|
+
// Follows the platform-wide protojson parity contract (Go CLI, TS CLI
|
|
4
|
+
// output/proto.ts, mcp-server marshal.ts): `toJson` with
|
|
5
|
+
// `useProtoFieldName: true` emits snake_case field names and omits unset
|
|
6
|
+
// defaults, so the output round-trips through `parseManifest`'s strict
|
|
7
|
+
// `fromJson` without loss.
|
|
8
|
+
//
|
|
9
|
+
// Two deliberate departures from the raw protojson projection, both for
|
|
10
|
+
// the *editable manifest* use case:
|
|
11
|
+
// - `status` and `metadata.version` are stripped — they are system-managed
|
|
12
|
+
// and would be ignored (or rejected) on apply.
|
|
13
|
+
// - the envelope field is spelled `apiVersion` (the canonical form used in
|
|
14
|
+
// every repo manifest and doc); `fromJson` accepts both spellings.
|
|
15
|
+
|
|
16
|
+
import { toJson, type Message } from "@bufbuild/protobuf";
|
|
17
|
+
import { stringify as stringifyYaml } from "yaml";
|
|
18
|
+
import { manifestHandlerForTypeName, manifestKinds } from "./registry.js";
|
|
19
|
+
|
|
20
|
+
/**
|
|
21
|
+
* Serialize a resource proto into the canonical, editable Stigmer YAML form.
|
|
22
|
+
*
|
|
23
|
+
* The resource kind is derived from the message's proto type, so any
|
|
24
|
+
* registry-supported resource (an `Agent` from `stigmer.agent.get()`, an
|
|
25
|
+
* `Environment` from `stigmer.environment.get()`, …) serializes with the
|
|
26
|
+
* same call. `metadata.id` is preserved — the output is a full-fidelity
|
|
27
|
+
* representation of the stored resource, minus system-managed state.
|
|
28
|
+
*
|
|
29
|
+
* @param message - A resource proto of a registry-supported kind.
|
|
30
|
+
* @returns YAML text suitable for editing and re-applying.
|
|
31
|
+
* @throws {Error} When the message's kind is not in the manifest registry.
|
|
32
|
+
*
|
|
33
|
+
* @example
|
|
34
|
+
* ```ts
|
|
35
|
+
* import { serializeManifest } from "@stigmer/sdk";
|
|
36
|
+
*
|
|
37
|
+
* const agent = await stigmer.agent.get(agentId);
|
|
38
|
+
* const yaml = serializeManifest(agent);
|
|
39
|
+
* ```
|
|
40
|
+
*/
|
|
41
|
+
export function serializeManifest(message: Message): string {
|
|
42
|
+
const handler = manifestHandlerForTypeName(message.$typeName);
|
|
43
|
+
if (handler === undefined) {
|
|
44
|
+
const supported = manifestKinds()
|
|
45
|
+
.map((h) => h.yamlKind)
|
|
46
|
+
.join(", ");
|
|
47
|
+
throw new Error(
|
|
48
|
+
`Cannot serialize ${message.$typeName} as a manifest: kind is not ` +
|
|
49
|
+
`in the manifest registry. Supported kinds: ${supported}.`,
|
|
50
|
+
);
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
const json = toJson(handler.schema, message, { useProtoFieldName: true });
|
|
54
|
+
if (json === null || typeof json !== "object" || Array.isArray(json)) {
|
|
55
|
+
throw new Error(
|
|
56
|
+
`Cannot serialize ${handler.displayName}: unexpected non-object ` +
|
|
57
|
+
"protojson projection.",
|
|
58
|
+
);
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
const { api_version, kind, status, metadata, ...rest } =
|
|
62
|
+
json as Record<string, unknown>;
|
|
63
|
+
void status;
|
|
64
|
+
|
|
65
|
+
const doc: Record<string, unknown> = {
|
|
66
|
+
apiVersion: typeof api_version === "string" && api_version !== ""
|
|
67
|
+
? api_version
|
|
68
|
+
: handler.apiVersion,
|
|
69
|
+
kind: typeof kind === "string" && kind !== "" ? kind : handler.yamlKind,
|
|
70
|
+
...(isPlainObject(metadata) && { metadata: stripSystemMetadata(metadata) }),
|
|
71
|
+
...rest,
|
|
72
|
+
};
|
|
73
|
+
|
|
74
|
+
// lineWidth: 0 disables wrapping (long instruction lines stay intact);
|
|
75
|
+
// blockQuote: "literal" renders multi-line strings as readable `|` blocks.
|
|
76
|
+
return stringifyYaml(doc, { lineWidth: 0, blockQuote: "literal" });
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
// metadata.version (version id, previous-version pointer, tag) is written by
|
|
80
|
+
// the server on every mutation; round-tripping it through an edit would be
|
|
81
|
+
// misleading at best. Everything else — including id — is user-meaningful.
|
|
82
|
+
function stripSystemMetadata(
|
|
83
|
+
metadata: Record<string, unknown>,
|
|
84
|
+
): Record<string, unknown> {
|
|
85
|
+
const { version, ...rest } = metadata;
|
|
86
|
+
void version;
|
|
87
|
+
return rest;
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
function isPlainObject(value: unknown): value is Record<string, unknown> {
|
|
91
|
+
return typeof value === "object" && value !== null && !Array.isArray(value);
|
|
92
|
+
}
|
package/src/stigmer.ts
CHANGED
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
import { ActivityClient } from "./activity.js";
|
|
2
2
|
import { BillingClient } from "./billing.js";
|
|
3
|
+
import { CursorAccountsClient } from "./cursor-accounts.js";
|
|
3
4
|
import { GeneratedClient } from "./gen/client.js";
|
|
4
5
|
import { GitHubClient } from "./github.js";
|
|
6
|
+
import { ManifestClient } from "./manifest/index.js";
|
|
5
7
|
import { PlatformClient } from "./platform.js";
|
|
6
8
|
import { SearchClient } from "./search.js";
|
|
7
9
|
import { createStigmerTransport } from "./transport.js";
|
|
@@ -27,6 +29,7 @@ type ExecutionTargetOption = StigmerConfig["executionTarget"];
|
|
|
27
29
|
* - {@link billing} credit management and Stripe integration client
|
|
28
30
|
* - Cross-resource {@link search} client
|
|
29
31
|
* - {@link github} OAuth integration client
|
|
32
|
+
* - Kind-agnostic {@link manifest} client for declarative YAML apply
|
|
30
33
|
*
|
|
31
34
|
* @example
|
|
32
35
|
* ```typescript
|
|
@@ -73,9 +76,12 @@ export class Stigmer extends GeneratedClient {
|
|
|
73
76
|
|
|
74
77
|
readonly activity: ActivityClient;
|
|
75
78
|
readonly billing: BillingClient;
|
|
79
|
+
/** Managed Cursor accounts (platform operators only). */
|
|
80
|
+
readonly cursorAccounts: CursorAccountsClient;
|
|
76
81
|
readonly platform: PlatformClient;
|
|
77
82
|
readonly search: SearchClient;
|
|
78
83
|
readonly github: GitHubClient;
|
|
84
|
+
readonly manifest: ManifestClient;
|
|
79
85
|
|
|
80
86
|
private readonly _tokenProvider: TokenProvider;
|
|
81
87
|
|
|
@@ -94,9 +100,11 @@ export class Stigmer extends GeneratedClient {
|
|
|
94
100
|
|
|
95
101
|
this.activity = new ActivityClient(transport);
|
|
96
102
|
this.billing = new BillingClient(transport);
|
|
103
|
+
this.cursorAccounts = new CursorAccountsClient(transport);
|
|
97
104
|
this.platform = new PlatformClient(transport);
|
|
98
105
|
this.search = new SearchClient(transport);
|
|
99
106
|
this.github = new GitHubClient(transport);
|
|
107
|
+
this.manifest = new ManifestClient(transport);
|
|
100
108
|
|
|
101
109
|
if (this.defaultExecutionTarget != null) {
|
|
102
110
|
this._applyExecutionTargetDefaults();
|
package/stigmer.d.ts
CHANGED
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
import { ActivityClient } from "./activity.js";
|
|
2
2
|
import { BillingClient } from "./billing.js";
|
|
3
|
+
import { CursorAccountsClient } from "./cursor-accounts.js";
|
|
3
4
|
import { GeneratedClient } from "./gen/client.js";
|
|
4
5
|
import { GitHubClient } from "./github.js";
|
|
6
|
+
import { ManifestClient } from "./manifest/index.js";
|
|
5
7
|
import { PlatformClient } from "./platform.js";
|
|
6
8
|
import { SearchClient } from "./search.js";
|
|
7
9
|
import { type StigmerConfig } from "./config.js";
|
|
@@ -19,6 +21,7 @@ import { ExecutionTarget } from "@stigmer/protos/ai/stigmer/agentic/session/v1/e
|
|
|
19
21
|
* - {@link billing} credit management and Stripe integration client
|
|
20
22
|
* - Cross-resource {@link search} client
|
|
21
23
|
* - {@link github} OAuth integration client
|
|
24
|
+
* - Kind-agnostic {@link manifest} client for declarative YAML apply
|
|
22
25
|
*
|
|
23
26
|
* @example
|
|
24
27
|
* ```typescript
|
|
@@ -62,9 +65,12 @@ export declare class Stigmer extends GeneratedClient {
|
|
|
62
65
|
readonly defaultExecutionTarget: ExecutionTarget | undefined;
|
|
63
66
|
readonly activity: ActivityClient;
|
|
64
67
|
readonly billing: BillingClient;
|
|
68
|
+
/** Managed Cursor accounts (platform operators only). */
|
|
69
|
+
readonly cursorAccounts: CursorAccountsClient;
|
|
65
70
|
readonly platform: PlatformClient;
|
|
66
71
|
readonly search: SearchClient;
|
|
67
72
|
readonly github: GitHubClient;
|
|
73
|
+
readonly manifest: ManifestClient;
|
|
68
74
|
private readonly _tokenProvider;
|
|
69
75
|
constructor(config: StigmerConfig);
|
|
70
76
|
/**
|
package/stigmer.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stigmer.d.ts","sourceRoot":"","sources":["../src/stigmer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAC/C,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAC7C,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAC/C,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAE3C,OAAO,EAEL,KAAK,aAAa,EAEnB,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,eAAe,EAAE,MAAM,uDAAuD,CAAC;AAIxF
|
|
1
|
+
{"version":3,"file":"stigmer.d.ts","sourceRoot":"","sources":["../src/stigmer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAC/C,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAC7C,OAAO,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAC5D,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAC/C,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAE3C,OAAO,EAEL,KAAK,aAAa,EAEnB,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,eAAe,EAAE,MAAM,uDAAuD,CAAC;AAIxF;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,qBAAa,OAAQ,SAAQ,eAAe;IAC1C;;;;;;OAMG;IACH,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IAEzB;;;;;;;;OAQG;IACH,QAAQ,CAAC,KAAK,EAAE,OAAO,UAAU,CAAC,KAAK,GAAG,SAAS,CAAC;IAEpD;;;;;;;;;OASG;IACH,QAAQ,CAAC,sBAAsB,EAAE,eAAe,GAAG,SAAS,CAAC;IAE7D,QAAQ,CAAC,QAAQ,EAAE,cAAc,CAAC;IAClC,QAAQ,CAAC,OAAO,EAAE,aAAa,CAAC;IAChC,yDAAyD;IACzD,QAAQ,CAAC,cAAc,EAAE,oBAAoB,CAAC;IAC9C,QAAQ,CAAC,QAAQ,EAAE,cAAc,CAAC;IAClC,QAAQ,CAAC,MAAM,EAAE,YAAY,CAAC;IAC9B,QAAQ,CAAC,MAAM,EAAE,YAAY,CAAC;IAC9B,QAAQ,CAAC,QAAQ,EAAE,cAAc,CAAC;IAElC,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAgB;gBAEnC,MAAM,EAAE,aAAa;IA0BjC;;;;;;;;;OASG;IACH,OAAO,CAAC,6BAA6B;IAoBrC;;;;;;;;;OASG;IACG,iBAAiB,IAAI,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;CAGlD"}
|
package/stigmer.js
CHANGED
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
import { ActivityClient } from "./activity.js";
|
|
2
2
|
import { BillingClient } from "./billing.js";
|
|
3
|
+
import { CursorAccountsClient } from "./cursor-accounts.js";
|
|
3
4
|
import { GeneratedClient } from "./gen/client.js";
|
|
4
5
|
import { GitHubClient } from "./github.js";
|
|
6
|
+
import { ManifestClient } from "./manifest/index.js";
|
|
5
7
|
import { PlatformClient } from "./platform.js";
|
|
6
8
|
import { SearchClient } from "./search.js";
|
|
7
9
|
import { createStigmerTransport } from "./transport.js";
|
|
@@ -20,6 +22,7 @@ import { ExecutionTarget } from "@stigmer/protos/ai/stigmer/agentic/session/v1/e
|
|
|
20
22
|
* - {@link billing} credit management and Stripe integration client
|
|
21
23
|
* - Cross-resource {@link search} client
|
|
22
24
|
* - {@link github} OAuth integration client
|
|
25
|
+
* - Kind-agnostic {@link manifest} client for declarative YAML apply
|
|
23
26
|
*
|
|
24
27
|
* @example
|
|
25
28
|
* ```typescript
|
|
@@ -63,9 +66,12 @@ export class Stigmer extends GeneratedClient {
|
|
|
63
66
|
defaultExecutionTarget;
|
|
64
67
|
activity;
|
|
65
68
|
billing;
|
|
69
|
+
/** Managed Cursor accounts (platform operators only). */
|
|
70
|
+
cursorAccounts;
|
|
66
71
|
platform;
|
|
67
72
|
search;
|
|
68
73
|
github;
|
|
74
|
+
manifest;
|
|
69
75
|
_tokenProvider;
|
|
70
76
|
constructor(config) {
|
|
71
77
|
validateConfig(config);
|
|
@@ -79,9 +85,11 @@ export class Stigmer extends GeneratedClient {
|
|
|
79
85
|
: config.getAccessToken ?? (() => null);
|
|
80
86
|
this.activity = new ActivityClient(transport);
|
|
81
87
|
this.billing = new BillingClient(transport);
|
|
88
|
+
this.cursorAccounts = new CursorAccountsClient(transport);
|
|
82
89
|
this.platform = new PlatformClient(transport);
|
|
83
90
|
this.search = new SearchClient(transport);
|
|
84
91
|
this.github = new GitHubClient(transport);
|
|
92
|
+
this.manifest = new ManifestClient(transport);
|
|
85
93
|
if (this.defaultExecutionTarget != null) {
|
|
86
94
|
this._applyExecutionTargetDefaults();
|
|
87
95
|
}
|
package/stigmer.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stigmer.js","sourceRoot":"","sources":["../src/stigmer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAC/C,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAC7C,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAC/C,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,EAAE,sBAAsB,EAAE,MAAM,gBAAgB,CAAC;AACxD,OAAO,EACL,cAAc,GAGf,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,eAAe,EAAE,MAAM,uDAAuD,CAAC;AAIxF
|
|
1
|
+
{"version":3,"file":"stigmer.js","sourceRoot":"","sources":["../src/stigmer.ts"],"names":[],"mappings":"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"}
|