@stigmer/sdk 3.14.0 → 3.15.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__/ensure-identity-account.test.d.ts +2 -0
- package/__tests__/ensure-identity-account.test.d.ts.map +1 -0
- package/__tests__/ensure-identity-account.test.js +108 -0
- package/__tests__/ensure-identity-account.test.js.map +1 -0
- package/__tests__/platform.test.d.ts +2 -0
- package/__tests__/platform.test.d.ts.map +1 -0
- package/__tests__/platform.test.js +32 -0
- package/__tests__/platform.test.js.map +1 -0
- package/__tests__/resource-availability.test.d.ts +2 -0
- package/__tests__/resource-availability.test.d.ts.map +1 -0
- package/__tests__/resource-availability.test.js +73 -0
- package/__tests__/resource-availability.test.js.map +1 -0
- package/ensure-identity-account.d.ts +72 -0
- package/ensure-identity-account.d.ts.map +1 -0
- package/ensure-identity-account.js +29 -0
- package/ensure-identity-account.js.map +1 -0
- package/gen/resource-availability.d.ts +6 -3
- package/gen/resource-availability.d.ts.map +1 -1
- package/gen/resource-availability.js +34 -11
- package/gen/resource-availability.js.map +1 -1
- package/index.d.ts +6 -5
- package/index.d.ts.map +1 -1
- package/index.js +10 -6
- package/index.js.map +1 -1
- package/package.json +2 -2
- package/platform.d.ts +5 -3
- package/platform.d.ts.map +1 -1
- package/platform.js +6 -3
- package/platform.js.map +1 -1
- package/resource-availability.d.ts +52 -11
- package/resource-availability.d.ts.map +1 -1
- package/resource-availability.js +101 -8
- package/resource-availability.js.map +1 -1
- package/src/__tests__/ensure-identity-account.test.ts +146 -0
- package/src/__tests__/platform.test.ts +44 -0
- package/src/__tests__/resource-availability.test.ts +108 -0
- package/src/ensure-identity-account.ts +87 -0
- package/src/gen/resource-availability.ts +34 -11
- package/src/index.ts +24 -11
- package/src/platform.ts +11 -4
- package/src/resource-availability.ts +117 -14
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ensure-identity-account.test.d.ts","sourceRoot":"","sources":["../../src/__tests__/ensure-identity-account.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,108 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Pins `ensureMyIdentityAccount` (`ensure-identity-account.ts`; 20260911.11
|
|
3
|
+
* A3): the ONE first-sign-in flow every surface runs — the console's
|
|
4
|
+
* `useIdentityAccountGate` delegates to it, the CLI's `auth whoami` and
|
|
5
|
+
* `auth login` call it — so a platform builder embedding Stigmer gets the
|
|
6
|
+
* same flow as a first-class import.
|
|
7
|
+
*
|
|
8
|
+
* 1. whoAmI answers → the account, `created: false`; nothing else is
|
|
9
|
+
* called;
|
|
10
|
+
* 2. whoAmI is NOT_FOUND → `onProvisioning` fires once (the hook's
|
|
11
|
+
* "provisioning" state), provisionMyAccount runs, the created account
|
|
12
|
+
* comes back with `created: true`;
|
|
13
|
+
* 3. any other whoAmI error propagates untouched (UNAUTHENTICATED,
|
|
14
|
+
* UNAVAILABLE, a network fault) — the caller's error UX owns it;
|
|
15
|
+
* 4. a provisionMyAccount failure propagates untouched (UNAVAILABLE when
|
|
16
|
+
* the issuer's userinfo is down is the documented arm).
|
|
17
|
+
*
|
|
18
|
+
* The doubles reject with `StigmerError`, the vocabulary the real
|
|
19
|
+
* `IdentityAccountClient` speaks (every RPC failure passes through
|
|
20
|
+
* `wrapError`), so `isNotFound` — the SDK's one classifier — is what the
|
|
21
|
+
* helper is proven against (refinement 11, slice 4).
|
|
22
|
+
*/
|
|
23
|
+
import { Code } from "@connectrpc/connect";
|
|
24
|
+
import { create } from "@bufbuild/protobuf";
|
|
25
|
+
import { IdentityAccountSchema, } from "@stigmer/protos/ai/stigmer/iam/identityaccount/v1/api_pb";
|
|
26
|
+
import { describe, expect, it } from "vitest";
|
|
27
|
+
import { ensureMyIdentityAccount, } from "../ensure-identity-account";
|
|
28
|
+
import { StigmerError } from "../gen/errors";
|
|
29
|
+
function clientWith(behaviour) {
|
|
30
|
+
const calls = { whoAmI: 0, provisionMyAccount: 0 };
|
|
31
|
+
const client = {
|
|
32
|
+
identityAccount: {
|
|
33
|
+
whoAmI: () => {
|
|
34
|
+
calls.whoAmI += 1;
|
|
35
|
+
return behaviour.whoAmI();
|
|
36
|
+
},
|
|
37
|
+
provisionMyAccount: () => {
|
|
38
|
+
calls.provisionMyAccount += 1;
|
|
39
|
+
return (behaviour.provisionMyAccount ??
|
|
40
|
+
(() => Promise.reject(new Error("must not be called"))))();
|
|
41
|
+
},
|
|
42
|
+
},
|
|
43
|
+
};
|
|
44
|
+
return { client, calls };
|
|
45
|
+
}
|
|
46
|
+
const EXISTING = create(IdentityAccountSchema, {
|
|
47
|
+
metadata: { id: "ida_existing" },
|
|
48
|
+
spec: { idpId: "auth0|existing" },
|
|
49
|
+
});
|
|
50
|
+
const CREATED = create(IdentityAccountSchema, {
|
|
51
|
+
metadata: { id: "ida_created" },
|
|
52
|
+
spec: { idpId: "auth0|created" },
|
|
53
|
+
});
|
|
54
|
+
const NOT_FOUND = () => new StigmerError("not-found", "Identity account not found for the authenticated user", Code.NotFound);
|
|
55
|
+
describe("ensureMyIdentityAccount", () => {
|
|
56
|
+
it("answers the existing account without provisioning", async () => {
|
|
57
|
+
const { client, calls } = clientWith({
|
|
58
|
+
whoAmI: () => Promise.resolve(EXISTING),
|
|
59
|
+
});
|
|
60
|
+
const result = await ensureMyIdentityAccount(client);
|
|
61
|
+
expect(result).toEqual({ account: EXISTING, created: false });
|
|
62
|
+
expect(calls).toEqual({ whoAmI: 1, provisionMyAccount: 0 });
|
|
63
|
+
});
|
|
64
|
+
it("provisions on NOT_FOUND, telling the caller once that it is provisioning", async () => {
|
|
65
|
+
const { client, calls } = clientWith({
|
|
66
|
+
whoAmI: () => Promise.reject(NOT_FOUND()),
|
|
67
|
+
provisionMyAccount: () => Promise.resolve(CREATED),
|
|
68
|
+
});
|
|
69
|
+
let provisioning = 0;
|
|
70
|
+
const result = await ensureMyIdentityAccount(client, {
|
|
71
|
+
onProvisioning: () => (provisioning += 1),
|
|
72
|
+
});
|
|
73
|
+
expect(result).toEqual({ account: CREATED, created: true });
|
|
74
|
+
expect(provisioning).toBe(1);
|
|
75
|
+
expect(calls).toEqual({ whoAmI: 1, provisionMyAccount: 1 });
|
|
76
|
+
});
|
|
77
|
+
it("does not fire onProvisioning when the account already exists", async () => {
|
|
78
|
+
const { client } = clientWith({ whoAmI: () => Promise.resolve(EXISTING) });
|
|
79
|
+
let provisioning = 0;
|
|
80
|
+
await ensureMyIdentityAccount(client, {
|
|
81
|
+
onProvisioning: () => (provisioning += 1),
|
|
82
|
+
});
|
|
83
|
+
expect(provisioning).toBe(0);
|
|
84
|
+
});
|
|
85
|
+
it("propagates any other whoAmI error untouched — only NOT_FOUND means 'provision me'", async () => {
|
|
86
|
+
const unauthenticated = new StigmerError("unauthenticated", "authentication token missing", Code.Unauthenticated);
|
|
87
|
+
const { client, calls } = clientWith({
|
|
88
|
+
whoAmI: () => Promise.reject(unauthenticated),
|
|
89
|
+
});
|
|
90
|
+
await expect(ensureMyIdentityAccount(client)).rejects.toBe(unauthenticated);
|
|
91
|
+
expect(calls.provisionMyAccount).toBe(0);
|
|
92
|
+
// A value that is not a StigmerError at all (a lane double that does
|
|
93
|
+
// not wrap, a transport fault) is also "any other error": propagated
|
|
94
|
+
// as the same object, never classified as "provision me".
|
|
95
|
+
const network = new TypeError("Load failed");
|
|
96
|
+
const offline = clientWith({ whoAmI: () => Promise.reject(network) });
|
|
97
|
+
await expect(ensureMyIdentityAccount(offline.client)).rejects.toBe(network);
|
|
98
|
+
});
|
|
99
|
+
it("propagates a provisioning failure untouched (the issuer's userinfo down is UNAVAILABLE)", async () => {
|
|
100
|
+
const unavailable = new StigmerError("unavailable", "Failed to fetch user profile from identity provider: userinfo answered 503", Code.Unavailable);
|
|
101
|
+
const { client } = clientWith({
|
|
102
|
+
whoAmI: () => Promise.reject(NOT_FOUND()),
|
|
103
|
+
provisionMyAccount: () => Promise.reject(unavailable),
|
|
104
|
+
});
|
|
105
|
+
await expect(ensureMyIdentityAccount(client)).rejects.toBe(unavailable);
|
|
106
|
+
});
|
|
107
|
+
});
|
|
108
|
+
//# sourceMappingURL=ensure-identity-account.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ensure-identity-account.test.js","sourceRoot":"","sources":["../../src/__tests__/ensure-identity-account.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"platform.test.d.ts","sourceRoot":"","sources":["../../src/__tests__/platform.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Pins PlatformClient.getServerInfo's edition-to-mode mapping: the client
|
|
3
|
+
* reports the server's edition through the one converter
|
|
4
|
+
* (`deploymentModeOf`), so a third edition on the wire reaches consumers
|
|
5
|
+
* as its own mode and never collapses into "cloud" by accident. The raw
|
|
6
|
+
* edition rides beside it for callers that want the wire value.
|
|
7
|
+
*/
|
|
8
|
+
import { describe, expect, it } from "vitest";
|
|
9
|
+
import { createRouterTransport } from "@connectrpc/connect";
|
|
10
|
+
import { create } from "@bufbuild/protobuf";
|
|
11
|
+
import { GetServerInfoOutputSchema, PlatformQueryController, ServerEdition, } from "@stigmer/protos/ai/stigmer/platform/v1/server_info_pb";
|
|
12
|
+
import { PlatformClient } from "../platform";
|
|
13
|
+
function clientAnswering(edition) {
|
|
14
|
+
return new PlatformClient(createRouterTransport(({ service }) => {
|
|
15
|
+
service(PlatformQueryController, {
|
|
16
|
+
getServerInfo: () => create(GetServerInfoOutputSchema, { edition, version: "1.2.3" }),
|
|
17
|
+
});
|
|
18
|
+
}));
|
|
19
|
+
}
|
|
20
|
+
describe("PlatformClient.getServerInfo", () => {
|
|
21
|
+
it.each([
|
|
22
|
+
[ServerEdition.oss, "local"],
|
|
23
|
+
[ServerEdition.enterprise, "enterprise"],
|
|
24
|
+
[ServerEdition.cloud, "cloud"],
|
|
25
|
+
])("maps edition %d to deploymentMode %s and keeps the raw edition", async (edition, mode) => {
|
|
26
|
+
const info = await clientAnswering(edition).getServerInfo();
|
|
27
|
+
expect(info.deploymentMode).toBe(mode);
|
|
28
|
+
expect(info.edition).toBe(edition);
|
|
29
|
+
expect(info.version).toBe("1.2.3");
|
|
30
|
+
});
|
|
31
|
+
});
|
|
32
|
+
//# sourceMappingURL=platform.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"platform.test.js","sourceRoot":"","sources":["../../src/__tests__/platform.test.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AAC9C,OAAO,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AAC5D,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAC5C,OAAO,EACL,yBAAyB,EACzB,uBAAuB,EACvB,aAAa,GACd,MAAM,uDAAuD,CAAC;AAE/D,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAE7C,SAAS,eAAe,CAAC,OAAsB;IAC7C,OAAO,IAAI,cAAc,CACvB,qBAAqB,CAAC,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE;QACpC,OAAO,CAAC,uBAAuB,EAAE;YAC/B,aAAa,EAAE,GAAG,EAAE,CAClB,MAAM,CAAC,yBAAyB,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC;SACnE,CAAC,CAAC;IACL,CAAC,CAAC,CACH,CAAC;AACJ,CAAC;AAED,QAAQ,CAAC,8BAA8B,EAAE,GAAG,EAAE;IAC5C,EAAE,CAAC,IAAI,CAAC;QACN,CAAC,aAAa,CAAC,GAAG,EAAE,OAAO,CAAC;QAC5B,CAAC,aAAa,CAAC,UAAU,EAAE,YAAY,CAAC;QACxC,CAAC,aAAa,CAAC,KAAK,EAAE,OAAO,CAAC;KACtB,CAAC,CACT,gEAAgE,EAChE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE;QACtB,MAAM,IAAI,GAAG,MAAM,eAAe,CAAC,OAAO,CAAC,CAAC,aAAa,EAAE,CAAC;QAC5D,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACvC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACnC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACrC,CAAC,CACF,CAAC;AACJ,CAAC,CAAC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"resource-availability.test.d.ts","sourceRoot":"","sources":["../../src/__tests__/resource-availability.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Pins the edition vocabulary (`resource-availability.ts`): the one
|
|
3
|
+
* edition-to-mode converter, the rank comparison behind
|
|
4
|
+
* `isResourceAvailable`, and the two properties the DDs assumed and this
|
|
5
|
+
* module has to make true —
|
|
6
|
+
*
|
|
7
|
+
* - ranks, never wire numbers: `enterprise = 3` sits ABOVE `cloud = 2`
|
|
8
|
+
* and `cloud_only = 2` on the wire, so a comparison on enum values
|
|
9
|
+
* would say an Enterprise-tier kind is not served by a Cloud server;
|
|
10
|
+
* - forward compatibility: an edition value this SDK does not know
|
|
11
|
+
* (a newer server) maps to `"cloud"` instead of throwing, so an older
|
|
12
|
+
* console never breaks against a newer server.
|
|
13
|
+
*
|
|
14
|
+
* The kinds named here are chosen one per tier; re-tiering any of them is
|
|
15
|
+
* a contract change and must touch this file (editions program, DD-001).
|
|
16
|
+
*/
|
|
17
|
+
import { describe, expect, it } from "vitest";
|
|
18
|
+
import { ApiResourceKind } from "@stigmer/protos/ai/stigmer/commons/apiresource/apiresourcekind/api_resource_kind_pb";
|
|
19
|
+
import { ServerEdition } from "@stigmer/protos/ai/stigmer/platform/v1/server_info_pb";
|
|
20
|
+
import { deploymentModeOf, isResourceAvailable, } from "../resource-availability";
|
|
21
|
+
const MODES = ["local", "enterprise", "cloud"];
|
|
22
|
+
describe("deploymentModeOf — the one edition-to-mode converter", () => {
|
|
23
|
+
it("maps each known edition to its mode", () => {
|
|
24
|
+
expect(deploymentModeOf(ServerEdition.oss)).toBe("local");
|
|
25
|
+
expect(deploymentModeOf(ServerEdition.enterprise)).toBe("enterprise");
|
|
26
|
+
expect(deploymentModeOf(ServerEdition.cloud)).toBe("cloud");
|
|
27
|
+
});
|
|
28
|
+
it("maps unspecified to cloud — the documented safe default (nothing hidden on a broken server)", () => {
|
|
29
|
+
expect(deploymentModeOf(ServerEdition.server_edition_unspecified)).toBe("cloud");
|
|
30
|
+
});
|
|
31
|
+
it("maps an edition this SDK does not know to cloud instead of throwing — older client, newer server", () => {
|
|
32
|
+
// A future fourth edition arrives off the wire as a number the enum
|
|
33
|
+
// type does not name. The cast is the test's point.
|
|
34
|
+
expect(deploymentModeOf(99)).toBe("cloud");
|
|
35
|
+
});
|
|
36
|
+
});
|
|
37
|
+
describe("isResourceAvailable — a tier is a minimum edition", () => {
|
|
38
|
+
it("open_source-tier kinds are available in every mode", () => {
|
|
39
|
+
for (const mode of MODES) {
|
|
40
|
+
expect(isResourceAvailable(ApiResourceKind.agent, mode), mode).toBe(true);
|
|
41
|
+
}
|
|
42
|
+
});
|
|
43
|
+
it("enterprise-tier kinds are available in enterprise and cloud, not local", () => {
|
|
44
|
+
expect(isResourceAvailable(ApiResourceKind.iam_policy, "local")).toBe(false);
|
|
45
|
+
expect(isResourceAvailable(ApiResourceKind.iam_policy, "enterprise")).toBe(true);
|
|
46
|
+
// The inversion case: enterprise = 3 > cloud = 2 on the wire. A
|
|
47
|
+
// wire-number comparison fails exactly here.
|
|
48
|
+
expect(isResourceAvailable(ApiResourceKind.iam_policy, "cloud")).toBe(true);
|
|
49
|
+
});
|
|
50
|
+
it("cloud_only-tier kinds are available in cloud only", () => {
|
|
51
|
+
expect(isResourceAvailable(ApiResourceKind.api_resource_version, "local")).toBe(false);
|
|
52
|
+
expect(isResourceAvailable(ApiResourceKind.api_resource_version, "enterprise")).toBe(false);
|
|
53
|
+
expect(isResourceAvailable(ApiResourceKind.api_resource_version, "cloud")).toBe(true);
|
|
54
|
+
});
|
|
55
|
+
it("the kinds this entry re-tiers read as their new tier", () => {
|
|
56
|
+
// oauth_app: served by the OSS server; the cloud_only tier was drift.
|
|
57
|
+
expect(isResourceAvailable(ApiResourceKind.oauth_app, "local")).toBe(true);
|
|
58
|
+
// platform: the operator seat a self-hosting Enterprise company owns.
|
|
59
|
+
expect(isResourceAvailable(ApiResourceKind.platform, "local")).toBe(false);
|
|
60
|
+
expect(isResourceAvailable(ApiResourceKind.platform, "enterprise")).toBe(true);
|
|
61
|
+
// identity_account: open_source since the open-source server serves the
|
|
62
|
+
// domain (20260911.11 slice 5); the tier moved in the same change as
|
|
63
|
+
// the serving code, never ahead of it.
|
|
64
|
+
expect(isResourceAvailable(ApiResourceKind.identity_account, "local")).toBe(true);
|
|
65
|
+
// agent_share and channel_app: served by OSS; they never moved.
|
|
66
|
+
expect(isResourceAvailable(ApiResourceKind.agent_share, "local")).toBe(true);
|
|
67
|
+
expect(isResourceAvailable(ApiResourceKind.channel_app, "local")).toBe(true);
|
|
68
|
+
});
|
|
69
|
+
it("refuses a kind with no tier — a programming error, never silently available", () => {
|
|
70
|
+
expect(() => isResourceAvailable(ApiResourceKind.api_resource_kind_unknown, "cloud")).toThrow(/no tier/);
|
|
71
|
+
});
|
|
72
|
+
});
|
|
73
|
+
//# sourceMappingURL=resource-availability.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"resource-availability.test.js","sourceRoot":"","sources":["../../src/__tests__/resource-availability.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The first-sign-in flow, once: make sure the authenticated caller has an
|
|
3
|
+
* identity account, creating it if this is the first time they arrive.
|
|
4
|
+
*
|
|
5
|
+
* Every edition serves `IdentityAccount` from one controller (20260911.11),
|
|
6
|
+
* and every surface that greets a signed-in person runs the same two-step
|
|
7
|
+
* flow — the console's `useIdentityAccountGate` (`@stigmer/react`), the
|
|
8
|
+
* CLI's `auth login` and `auth whoami`, and any platform builder's own
|
|
9
|
+
* gate. This module is that flow's one home, so the surfaces cannot drift
|
|
10
|
+
* on the question "what does a missing account mean?".
|
|
11
|
+
*
|
|
12
|
+
* Three facts it is built on:
|
|
13
|
+
*
|
|
14
|
+
* - `whoAmI` answers NOT_FOUND for an authenticated caller who has no
|
|
15
|
+
* account yet (the server's byte-pinned copy: "Identity account not found
|
|
16
|
+
* for the authenticated user"). That code, and ONLY that code, means
|
|
17
|
+
* "provision me". UNAUTHENTICATED, UNAVAILABLE, a transport fault — each
|
|
18
|
+
* is the caller's to handle and is rethrown as the same object.
|
|
19
|
+
* - `provisionMyAccount` is the one creator of a direct account and is
|
|
20
|
+
* idempotent by the caller's subject: two racing first sign-ins resolve
|
|
21
|
+
* to one row. Its failures are also rethrown untouched (the issuer's
|
|
22
|
+
* userinfo being down is UNAVAILABLE, the documented arm).
|
|
23
|
+
* - Whether THIS call created the account is part of the answer. A first
|
|
24
|
+
* sign-in should be visible ("your account was created"), not silent.
|
|
25
|
+
*
|
|
26
|
+
* The client parameter is structural, the `McpServerConnectLane` precedent:
|
|
27
|
+
* the full `Stigmer` client satisfies it, and a test can hand in two
|
|
28
|
+
* functions.
|
|
29
|
+
*/
|
|
30
|
+
import type { IdentityAccount } from "@stigmer/protos/ai/stigmer/iam/identityaccount/v1/api_pb";
|
|
31
|
+
/**
|
|
32
|
+
* The slice of the identity-account client this flow needs. Errors are the
|
|
33
|
+
* SDK client's `StigmerError`s; `isNotFound` is the one classifier read.
|
|
34
|
+
*/
|
|
35
|
+
export interface IdentityAccountLane {
|
|
36
|
+
whoAmI(): Promise<IdentityAccount>;
|
|
37
|
+
provisionMyAccount(): Promise<IdentityAccount>;
|
|
38
|
+
}
|
|
39
|
+
/** Options for {@link ensureMyIdentityAccount}. */
|
|
40
|
+
export interface EnsureMyIdentityAccountOptions {
|
|
41
|
+
/**
|
|
42
|
+
* Called once, before `provisionMyAccount` is issued, when `whoAmI` found
|
|
43
|
+
* no account — the moment a surface shows "Setting up your account…".
|
|
44
|
+
* Not called when the account already exists.
|
|
45
|
+
*/
|
|
46
|
+
readonly onProvisioning?: () => void;
|
|
47
|
+
}
|
|
48
|
+
/** What {@link ensureMyIdentityAccount} learned. */
|
|
49
|
+
export interface EnsuredIdentityAccount {
|
|
50
|
+
/** The caller's account, existing or just created. */
|
|
51
|
+
readonly account: IdentityAccount;
|
|
52
|
+
/** `true` when this call created the account (a first sign-in). */
|
|
53
|
+
readonly created: boolean;
|
|
54
|
+
}
|
|
55
|
+
/**
|
|
56
|
+
* Resolve the caller's identity account, provisioning it on a first sign-in.
|
|
57
|
+
*
|
|
58
|
+
* `whoAmI` first; on NOT_FOUND — and only NOT_FOUND — `onProvisioning` fires
|
|
59
|
+
* and `provisionMyAccount` runs. Every other error, from either RPC, is
|
|
60
|
+
* rethrown as the same object so the caller's error UX owns it.
|
|
61
|
+
*
|
|
62
|
+
* @example
|
|
63
|
+
* ```ts
|
|
64
|
+
* const { account, created } = await ensureMyIdentityAccount(stigmer, {
|
|
65
|
+
* onProvisioning: () => console.log("Setting up your account…"),
|
|
66
|
+
* });
|
|
67
|
+
* ```
|
|
68
|
+
*/
|
|
69
|
+
export declare function ensureMyIdentityAccount(client: {
|
|
70
|
+
readonly identityAccount: IdentityAccountLane;
|
|
71
|
+
}, options?: EnsureMyIdentityAccountOptions): Promise<EnsuredIdentityAccount>;
|
|
72
|
+
//# sourceMappingURL=ensure-identity-account.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ensure-identity-account.d.ts","sourceRoot":"","sources":["../src/ensure-identity-account.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,0DAA0D,CAAC;AAGhG;;;GAGG;AACH,MAAM,WAAW,mBAAmB;IAClC,MAAM,IAAI,OAAO,CAAC,eAAe,CAAC,CAAC;IACnC,kBAAkB,IAAI,OAAO,CAAC,eAAe,CAAC,CAAC;CAChD;AAED,mDAAmD;AACnD,MAAM,WAAW,8BAA8B;IAC7C;;;;OAIG;IACH,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,IAAI,CAAC;CACtC;AAED,oDAAoD;AACpD,MAAM,WAAW,sBAAsB;IACrC,sDAAsD;IACtD,QAAQ,CAAC,OAAO,EAAE,eAAe,CAAC;IAClC,mEAAmE;IACnE,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;CAC3B;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAsB,uBAAuB,CAC3C,MAAM,EAAE;IAAE,QAAQ,CAAC,eAAe,EAAE,mBAAmB,CAAA;CAAE,EACzD,OAAO,CAAC,EAAE,8BAA8B,GACvC,OAAO,CAAC,sBAAsB,CAAC,CAUjC"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { isNotFound } from "./errors.js";
|
|
2
|
+
/**
|
|
3
|
+
* Resolve the caller's identity account, provisioning it on a first sign-in.
|
|
4
|
+
*
|
|
5
|
+
* `whoAmI` first; on NOT_FOUND — and only NOT_FOUND — `onProvisioning` fires
|
|
6
|
+
* and `provisionMyAccount` runs. Every other error, from either RPC, is
|
|
7
|
+
* rethrown as the same object so the caller's error UX owns it.
|
|
8
|
+
*
|
|
9
|
+
* @example
|
|
10
|
+
* ```ts
|
|
11
|
+
* const { account, created } = await ensureMyIdentityAccount(stigmer, {
|
|
12
|
+
* onProvisioning: () => console.log("Setting up your account…"),
|
|
13
|
+
* });
|
|
14
|
+
* ```
|
|
15
|
+
*/
|
|
16
|
+
export async function ensureMyIdentityAccount(client, options) {
|
|
17
|
+
try {
|
|
18
|
+
const account = await client.identityAccount.whoAmI();
|
|
19
|
+
return { account, created: false };
|
|
20
|
+
}
|
|
21
|
+
catch (err) {
|
|
22
|
+
if (!isNotFound(err))
|
|
23
|
+
throw err;
|
|
24
|
+
}
|
|
25
|
+
options?.onProvisioning?.();
|
|
26
|
+
const account = await client.identityAccount.provisionMyAccount();
|
|
27
|
+
return { account, created: true };
|
|
28
|
+
}
|
|
29
|
+
//# sourceMappingURL=ensure-identity-account.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ensure-identity-account.js","sourceRoot":"","sources":["../src/ensure-identity-account.ts"],"names":[],"mappings":"AA8BA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AA6BzC;;;;;;;;;;;;;GAaG;AACH,MAAM,CAAC,KAAK,UAAU,uBAAuB,CAC3C,MAAyD,EACzD,OAAwC;IAExC,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,eAAe,CAAC,MAAM,EAAE,CAAC;QACtD,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;IACrC,CAAC;IAAC,OAAO,GAAY,EAAE,CAAC;QACtB,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC;YAAE,MAAM,GAAG,CAAC;IAClC,CAAC;IACD,OAAO,EAAE,cAAc,EAAE,EAAE,CAAC;IAC5B,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,eAAe,CAAC,kBAAkB,EAAE,CAAC;IAClE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;AACpC,CAAC"}
|
|
@@ -1,9 +1,12 @@
|
|
|
1
|
-
import { ApiResourceKind } from "@stigmer/protos/ai/stigmer/commons/apiresource/apiresourcekind/api_resource_kind_pb";
|
|
1
|
+
import { ApiResourceKind, ResourceTier } from "@stigmer/protos/ai/stigmer/commons/apiresource/apiresourcekind/api_resource_kind_pb";
|
|
2
2
|
/**
|
|
3
|
-
*
|
|
3
|
+
* The minimum edition that serves each resource kind (kind_meta.tier).
|
|
4
|
+
*
|
|
5
|
+
* Every kind with kind_meta is present, in enum-number order; a kind
|
|
6
|
+
* absent here has no tier and is a programming error to ask about.
|
|
4
7
|
*
|
|
5
8
|
* Source of truth: api_resource_kind.proto — each ApiResourceKind enum
|
|
6
9
|
* value carries a ResourceTier in its kind_meta options.
|
|
7
10
|
*/
|
|
8
|
-
export declare const
|
|
11
|
+
export declare const KIND_TIERS: ReadonlyMap<ApiResourceKind, ResourceTier>;
|
|
9
12
|
//# sourceMappingURL=resource-availability.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resource-availability.d.ts","sourceRoot":"","sources":["../../src/gen/resource-availability.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,eAAe,EAAE,MAAM,qFAAqF,CAAC;
|
|
1
|
+
{"version":3,"file":"resource-availability.d.ts","sourceRoot":"","sources":["../../src/gen/resource-availability.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,qFAAqF,CAAC;AAEpI;;;;;;;;GAQG;AACH,eAAO,MAAM,UAAU,EAAE,WAAW,CAAC,eAAe,EAAE,YAAY,CA6BhE,CAAC"}
|
|
@@ -1,19 +1,42 @@
|
|
|
1
1
|
// Code generated by stigmer-codegen from api_resource_kind.proto kind_meta. DO NOT EDIT.
|
|
2
|
-
import { ApiResourceKind } from "@stigmer/protos/ai/stigmer/commons/apiresource/apiresourcekind/api_resource_kind_pb";
|
|
2
|
+
import { ApiResourceKind, ResourceTier } from "@stigmer/protos/ai/stigmer/commons/apiresource/apiresourcekind/api_resource_kind_pb";
|
|
3
3
|
/**
|
|
4
|
-
*
|
|
4
|
+
* The minimum edition that serves each resource kind (kind_meta.tier).
|
|
5
|
+
*
|
|
6
|
+
* Every kind with kind_meta is present, in enum-number order; a kind
|
|
7
|
+
* absent here has no tier and is a programming error to ask about.
|
|
5
8
|
*
|
|
6
9
|
* Source of truth: api_resource_kind.proto — each ApiResourceKind enum
|
|
7
10
|
* value carries a ResourceTier in its kind_meta options.
|
|
8
11
|
*/
|
|
9
|
-
export const
|
|
10
|
-
ApiResourceKind.api_resource_version,
|
|
11
|
-
ApiResourceKind.iam_policy,
|
|
12
|
-
ApiResourceKind.identity_account,
|
|
13
|
-
ApiResourceKind.
|
|
14
|
-
ApiResourceKind.
|
|
15
|
-
ApiResourceKind.
|
|
16
|
-
ApiResourceKind.
|
|
17
|
-
ApiResourceKind.
|
|
12
|
+
export const KIND_TIERS = new Map([
|
|
13
|
+
[ApiResourceKind.api_resource_version, ResourceTier.cloud_only],
|
|
14
|
+
[ApiResourceKind.iam_policy, ResourceTier.enterprise],
|
|
15
|
+
[ApiResourceKind.identity_account, ResourceTier.open_source],
|
|
16
|
+
[ApiResourceKind.api_key, ResourceTier.open_source],
|
|
17
|
+
[ApiResourceKind.invitation, ResourceTier.enterprise],
|
|
18
|
+
[ApiResourceKind.identity_provider, ResourceTier.enterprise],
|
|
19
|
+
[ApiResourceKind.oauth_app, ResourceTier.open_source],
|
|
20
|
+
[ApiResourceKind.platform_client, ResourceTier.cloud_only],
|
|
21
|
+
[ApiResourceKind.organization, ResourceTier.open_source],
|
|
22
|
+
[ApiResourceKind.platform, ResourceTier.enterprise],
|
|
23
|
+
[ApiResourceKind.agent, ResourceTier.open_source],
|
|
24
|
+
[ApiResourceKind.agent_execution, ResourceTier.open_source],
|
|
25
|
+
[ApiResourceKind.session, ResourceTier.open_source],
|
|
26
|
+
[ApiResourceKind.skill, ResourceTier.open_source],
|
|
27
|
+
[ApiResourceKind.mcp_server, ResourceTier.open_source],
|
|
28
|
+
[ApiResourceKind.agent_instance, ResourceTier.open_source],
|
|
29
|
+
[ApiResourceKind.agent_share, ResourceTier.open_source],
|
|
30
|
+
[ApiResourceKind.agent_channel, ResourceTier.open_source],
|
|
31
|
+
[ApiResourceKind.channel_app, ResourceTier.open_source],
|
|
32
|
+
[ApiResourceKind.workflow, ResourceTier.open_source],
|
|
33
|
+
[ApiResourceKind.workflow_instance, ResourceTier.open_source],
|
|
34
|
+
[ApiResourceKind.workflow_execution, ResourceTier.open_source],
|
|
35
|
+
[ApiResourceKind.environment, ResourceTier.open_source],
|
|
36
|
+
[ApiResourceKind.execution_context, ResourceTier.open_source],
|
|
37
|
+
[ApiResourceKind.artifact, ResourceTier.open_source],
|
|
38
|
+
[ApiResourceKind.schedule, ResourceTier.open_source],
|
|
39
|
+
[ApiResourceKind.memory, ResourceTier.open_source],
|
|
40
|
+
[ApiResourceKind.project, ResourceTier.open_source],
|
|
18
41
|
]);
|
|
19
42
|
//# sourceMappingURL=resource-availability.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resource-availability.js","sourceRoot":"","sources":["../../src/gen/resource-availability.ts"],"names":[],"mappings":"AAAA,yFAAyF;AAEzF,OAAO,EAAE,eAAe,EAAE,MAAM,qFAAqF,CAAC;
|
|
1
|
+
{"version":3,"file":"resource-availability.js","sourceRoot":"","sources":["../../src/gen/resource-availability.ts"],"names":[],"mappings":"AAAA,yFAAyF;AAEzF,OAAO,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,qFAAqF,CAAC;AAEpI;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,UAAU,GAA+C,IAAI,GAAG,CAAC;IAC5E,CAAC,eAAe,CAAC,oBAAoB,EAAE,YAAY,CAAC,UAAU,CAAC;IAC/D,CAAC,eAAe,CAAC,UAAU,EAAE,YAAY,CAAC,UAAU,CAAC;IACrD,CAAC,eAAe,CAAC,gBAAgB,EAAE,YAAY,CAAC,WAAW,CAAC;IAC5D,CAAC,eAAe,CAAC,OAAO,EAAE,YAAY,CAAC,WAAW,CAAC;IACnD,CAAC,eAAe,CAAC,UAAU,EAAE,YAAY,CAAC,UAAU,CAAC;IACrD,CAAC,eAAe,CAAC,iBAAiB,EAAE,YAAY,CAAC,UAAU,CAAC;IAC5D,CAAC,eAAe,CAAC,SAAS,EAAE,YAAY,CAAC,WAAW,CAAC;IACrD,CAAC,eAAe,CAAC,eAAe,EAAE,YAAY,CAAC,UAAU,CAAC;IAC1D,CAAC,eAAe,CAAC,YAAY,EAAE,YAAY,CAAC,WAAW,CAAC;IACxD,CAAC,eAAe,CAAC,QAAQ,EAAE,YAAY,CAAC,UAAU,CAAC;IACnD,CAAC,eAAe,CAAC,KAAK,EAAE,YAAY,CAAC,WAAW,CAAC;IACjD,CAAC,eAAe,CAAC,eAAe,EAAE,YAAY,CAAC,WAAW,CAAC;IAC3D,CAAC,eAAe,CAAC,OAAO,EAAE,YAAY,CAAC,WAAW,CAAC;IACnD,CAAC,eAAe,CAAC,KAAK,EAAE,YAAY,CAAC,WAAW,CAAC;IACjD,CAAC,eAAe,CAAC,UAAU,EAAE,YAAY,CAAC,WAAW,CAAC;IACtD,CAAC,eAAe,CAAC,cAAc,EAAE,YAAY,CAAC,WAAW,CAAC;IAC1D,CAAC,eAAe,CAAC,WAAW,EAAE,YAAY,CAAC,WAAW,CAAC;IACvD,CAAC,eAAe,CAAC,aAAa,EAAE,YAAY,CAAC,WAAW,CAAC;IACzD,CAAC,eAAe,CAAC,WAAW,EAAE,YAAY,CAAC,WAAW,CAAC;IACvD,CAAC,eAAe,CAAC,QAAQ,EAAE,YAAY,CAAC,WAAW,CAAC;IACpD,CAAC,eAAe,CAAC,iBAAiB,EAAE,YAAY,CAAC,WAAW,CAAC;IAC7D,CAAC,eAAe,CAAC,kBAAkB,EAAE,YAAY,CAAC,WAAW,CAAC;IAC9D,CAAC,eAAe,CAAC,WAAW,EAAE,YAAY,CAAC,WAAW,CAAC;IACvD,CAAC,eAAe,CAAC,iBAAiB,EAAE,YAAY,CAAC,WAAW,CAAC;IAC7D,CAAC,eAAe,CAAC,QAAQ,EAAE,YAAY,CAAC,WAAW,CAAC;IACpD,CAAC,eAAe,CAAC,QAAQ,EAAE,YAAY,CAAC,WAAW,CAAC;IACpD,CAAC,eAAe,CAAC,MAAM,EAAE,YAAY,CAAC,WAAW,CAAC;IAClD,CAAC,eAAe,CAAC,OAAO,EAAE,YAAY,CAAC,WAAW,CAAC;CACpD,CAAC,CAAC"}
|
package/index.d.ts
CHANGED
|
@@ -4,7 +4,8 @@ export { type StigmerConfig, type TokenProvider } from "./config.js";
|
|
|
4
4
|
export { createGuestAuth, GuestAuth, type GuestAuthConfig, type GuestIdStorage, } from "./guest-auth.js";
|
|
5
5
|
export { MAX_ALLOWED_ORIGINS, LINK_TOKEN_PARAM, validateOrigin, chatPath, buildChatUrl, appendLinkToken, buildEmbedLoaderUrl, buildEmbedSnippet, } from "./sharing.js";
|
|
6
6
|
export { StigmerError, type ErrorCode, isNotFound, isUnauthenticated, isPermissionDenied, isRetryable, isUnimplemented, type ErrorCategory, isConnectError, classifyError, isRetryableError, isTransientStreamError, getUserMessage, type ErrorReason, getErrorReason, type RpcErrorMetadata, annotateRpcError, getRpcMetadata, } from "./errors.js";
|
|
7
|
-
export { type DeploymentMode, isResourceAvailable, } from "./resource-availability.js";
|
|
7
|
+
export { type DeploymentMode, deploymentModeOf, isResourceAvailable, } from "./resource-availability.js";
|
|
8
|
+
export { ensureMyIdentityAccount, type EnsuredIdentityAccount, type EnsureMyIdentityAccountOptions, type IdentityAccountLane, } from "./ensure-identity-account.js";
|
|
8
9
|
export { getGrantableRoles, hasGrantableRoles, isRoleGrantable, } from "./authorization-config.js";
|
|
9
10
|
export { iamRoleToString, iamRoleFromString, iamRoleDisplayName, iamRoleDescription, } from "./iam-role.js";
|
|
10
11
|
export { IamRole } from "@stigmer/protos/ai/stigmer/iam/v1/enum_pb";
|
|
@@ -15,7 +16,7 @@ export { CursorAccountsClient, type UpsertCursorAccountParams, type DeleteCursor
|
|
|
15
16
|
export { ProviderStandingClient } from "./provider-standing.js";
|
|
16
17
|
export { SearchClient, type SearchParams, type SearchResponse, ApiResourceKind, } from "./search.js";
|
|
17
18
|
export { GitHubClient, type GetOAuthAuthorizeUrlParams, type OAuthAuthorizeUrlResponse, type ExchangeOAuthCodeParams, type OAuthTokenResponse, } from "./github.js";
|
|
18
|
-
export { PlatformClient, type ServerInfo
|
|
19
|
+
export { PlatformClient, type ServerInfo } from "./platform.js";
|
|
19
20
|
export { ManifestClient, parseManifest, serializeManifest, manifestDocumentForResource, manifestKinds, manifestHandlerForYamlKind, manifestHandlerForTypeName, metadataOf, REDACTED_SECRET_MARKER, containsRedactedSecrets, type AppliedManifest, type ManifestDocument, type ManifestKindHandler, type ParseManifestOptions, } from "./manifest/index.js";
|
|
20
21
|
export { type DeleteResourceInput, type ResourceRef, type Page, type ListParams, type ListResult, type EnvSpecInput, type EnvVarInput, } from "./gen/types.js";
|
|
21
22
|
export { AgentClient, buildAgentProto, toAgentUpdateInput, type AgentInput, type McpServerUsageInput, type ToolApprovalOverrideInput, type SubAgentInput, type McpAccessInput, type EnvVarDeclarationInput, } from "./gen/agent.js";
|
|
@@ -23,13 +24,13 @@ export { AgentChannelClient, toAgentChannelUpdateInput, type AgentChannelInput,
|
|
|
23
24
|
export { AgentExecutionClient, toAgentExecutionUpdateInput, type AgentExecutionInput, type ExecutionConfigInput, type ContextManagementConfigInput, type AttachmentInput, } from "./gen/agentexecution.js";
|
|
24
25
|
export { AgentInstanceClient, toAgentInstanceUpdateInput, type AgentInstanceInput, } from "./gen/agentinstance.js";
|
|
25
26
|
export { AgentShareClient, toAgentShareUpdateInput, type AgentShareInput, type AgentShareMessagesInput, } from "./gen/agentshare.js";
|
|
26
|
-
export { ApiKeyClient, toApiKeyUpdateInput, type ApiKeyInput } from "./gen/apikey.js";
|
|
27
|
+
export { ApiKeyClient, toApiKeyUpdateInput, type ApiKeyInput, } from "./gen/apikey.js";
|
|
27
28
|
export { ChannelAppClient, toChannelAppUpdateInput, type ChannelAppInput, type SlackChannelAppConfigInput, } from "./gen/channelapp.js";
|
|
28
29
|
export { EnvironmentClient, toEnvironmentUpdateInput, type EnvironmentInput, } from "./gen/environment.js";
|
|
29
30
|
export { ExecutionContextClient, type ExecutionContextInput, } from "./gen/executioncontext.js";
|
|
30
31
|
export { IamPolicyClient, type IamPolicyInput, type ApiResourceRefInput, } from "./gen/iampolicy.js";
|
|
31
32
|
export { IdentityAccountClient, toIdentityAccountUpdateInput, type IdentityAccountInput, } from "./gen/identityaccount.js";
|
|
32
|
-
export { InvitationClient, type InvitationInput
|
|
33
|
+
export { InvitationClient, type InvitationInput } from "./gen/invitation.js";
|
|
33
34
|
export { IdentityProviderClient, toIdentityProviderUpdateInput, type IdentityProviderInput, } from "./gen/identityprovider.js";
|
|
34
35
|
export { OAuthAppClient, toOAuthAppUpdateInput, type OAuthAppInput, } from "./gen/oauthapp.js";
|
|
35
36
|
export { McpServerClient, buildMcpServerProto, toMcpServerUpdateInput, type McpServerInput, type StdioServerConfigInput, type HttpServerConfigInput, type ToolApprovalPolicyInput, } from "./gen/mcpserver.js";
|
|
@@ -37,7 +38,7 @@ export { MemoryClient, buildMemoryProto, toMemoryUpdateInput, type MemoryInput,
|
|
|
37
38
|
export { connectAndWait, ConnectStillRunningError, CONNECT_POLL_INTERVAL_MS, CONNECT_SETTLE_BOUND_MS, type ConnectAndWaitOptions, type McpServerConnectLane, } from "./mcpserver-connect.js";
|
|
38
39
|
export { OrganizationClient, toOrganizationUpdateInput, type OrganizationInput, } from "./gen/organization.js";
|
|
39
40
|
export { PlatformClientClient, toPlatformClientUpdateInput, type PlatformClientInput, } from "./gen/platformclient.js";
|
|
40
|
-
export { ProjectClient, toProjectUpdateInput, type ProjectInput } from "./gen/project.js";
|
|
41
|
+
export { ProjectClient, toProjectUpdateInput, type ProjectInput, } from "./gen/project.js";
|
|
41
42
|
export { ScheduleClient, buildScheduleProto, toScheduleUpdateInput, type ScheduleInput, type AgentInvocationInput, type RunConfigInput, } from "./gen/schedule.js";
|
|
42
43
|
export { SessionClient, toSessionUpdateInput, type SessionInput, type WorkspaceEntryInput, type WorkspaceSourceInput, type GitRepoSourceInput, type LocalPathSourceInput, } from "./gen/session.js";
|
|
43
44
|
export { PENDING_SUBJECT, SESSION_CONTEXT_METADATA_KEY, mergeSessionContext, resolvedSubject, } from "./session.js";
|
package/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAGvC,OAAO,EACL,KAAK,aAAa,EAClB,KAAK,gBAAgB,EACrB,mBAAmB,GACpB,MAAM,qBAAqB,CAAC;AAG7B,OAAO,EAAE,KAAK,aAAa,EAAE,KAAK,aAAa,EAAE,MAAM,aAAa,CAAC;AAGrE,OAAO,EACL,eAAe,EACf,SAAS,EACT,KAAK,eAAe,EACpB,KAAK,cAAc,GACpB,MAAM,iBAAiB,CAAC;AAGzB,OAAO,EACL,mBAAmB,EACnB,gBAAgB,EAChB,cAAc,EACd,QAAQ,EACR,YAAY,EACZ,eAAe,EACf,mBAAmB,EACnB,iBAAiB,GAClB,MAAM,cAAc,CAAC;AAGtB,OAAO,EACL,YAAY,EACZ,KAAK,SAAS,EACd,UAAU,EACV,iBAAiB,EACjB,kBAAkB,EAClB,WAAW,EACX,eAAe,EACf,KAAK,aAAa,EAClB,cAAc,EACd,aAAa,EACb,gBAAgB,EAChB,sBAAsB,EACtB,cAAc,EACd,KAAK,WAAW,EAChB,cAAc,EACd,KAAK,gBAAgB,EACrB,gBAAgB,EAChB,cAAc,GACf,MAAM,aAAa,CAAC;AAGrB,OAAO,EACL,KAAK,cAAc,EACnB,mBAAmB,GACpB,MAAM,4BAA4B,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/index.js
CHANGED
|
@@ -9,8 +9,12 @@ export { createGuestAuth, GuestAuth, } from "./guest-auth.js";
|
|
|
9
9
|
export { MAX_ALLOWED_ORIGINS, LINK_TOKEN_PARAM, validateOrigin, chatPath, buildChatUrl, appendLinkToken, buildEmbedLoaderUrl, buildEmbedSnippet, } from "./sharing.js";
|
|
10
10
|
// Error handling
|
|
11
11
|
export { StigmerError, isNotFound, isUnauthenticated, isPermissionDenied, isRetryable, isUnimplemented, isConnectError, classifyError, isRetryableError, isTransientStreamError, getUserMessage, getErrorReason, annotateRpcError, getRpcMetadata, } from "./errors.js";
|
|
12
|
-
//
|
|
13
|
-
export { isResourceAvailable, } from "./resource-availability.js";
|
|
12
|
+
// Edition vocabulary and resource availability
|
|
13
|
+
export { deploymentModeOf, isResourceAvailable, } from "./resource-availability.js";
|
|
14
|
+
// The first-sign-in flow: resolve the caller's identity account, provisioning
|
|
15
|
+
// it on a first sign-in. One home for every surface (console gate, CLI,
|
|
16
|
+
// platform builders' own gates).
|
|
17
|
+
export { ensureMyIdentityAccount, } from "./ensure-identity-account.js";
|
|
14
18
|
// Authorization config and IAM role utilities
|
|
15
19
|
export { getGrantableRoles, hasGrantableRoles, isRoleGrantable, } from "./authorization-config.js";
|
|
16
20
|
export { iamRoleToString, iamRoleFromString, iamRoleDisplayName, iamRoleDescription, } from "./iam-role.js";
|
|
@@ -28,7 +32,7 @@ export { SearchClient, ApiResourceKind, } from "./search.js";
|
|
|
28
32
|
// GitHub OAuth client
|
|
29
33
|
export { GitHubClient, } from "./github.js";
|
|
30
34
|
// Platform client (server info / edition detection)
|
|
31
|
-
export { PlatformClient
|
|
35
|
+
export { PlatformClient } from "./platform.js";
|
|
32
36
|
// Manifest engine (kind-agnostic YAML ⇄ proto ⇄ apply)
|
|
33
37
|
export { ManifestClient, parseManifest, serializeManifest, manifestDocumentForResource, manifestKinds, manifestHandlerForYamlKind, manifestHandlerForTypeName, metadataOf, REDACTED_SECRET_MARKER, containsRedactedSecrets, } from "./manifest/index.js";
|
|
34
38
|
// Re-export all resource client classes and input types. The
|
|
@@ -40,13 +44,13 @@ export { AgentChannelClient, toAgentChannelUpdateInput, } from "./gen/agentchann
|
|
|
40
44
|
export { AgentExecutionClient, toAgentExecutionUpdateInput, } from "./gen/agentexecution.js";
|
|
41
45
|
export { AgentInstanceClient, toAgentInstanceUpdateInput, } from "./gen/agentinstance.js";
|
|
42
46
|
export { AgentShareClient, toAgentShareUpdateInput, } from "./gen/agentshare.js";
|
|
43
|
-
export { ApiKeyClient, toApiKeyUpdateInput } from "./gen/apikey.js";
|
|
47
|
+
export { ApiKeyClient, toApiKeyUpdateInput, } from "./gen/apikey.js";
|
|
44
48
|
export { ChannelAppClient, toChannelAppUpdateInput, } from "./gen/channelapp.js";
|
|
45
49
|
export { EnvironmentClient, toEnvironmentUpdateInput, } from "./gen/environment.js";
|
|
46
50
|
export { ExecutionContextClient, } from "./gen/executioncontext.js";
|
|
47
51
|
export { IamPolicyClient, } from "./gen/iampolicy.js";
|
|
48
52
|
export { IdentityAccountClient, toIdentityAccountUpdateInput, } from "./gen/identityaccount.js";
|
|
49
|
-
export { InvitationClient
|
|
53
|
+
export { InvitationClient } from "./gen/invitation.js";
|
|
50
54
|
export { IdentityProviderClient, toIdentityProviderUpdateInput, } from "./gen/identityprovider.js";
|
|
51
55
|
export { OAuthAppClient, toOAuthAppUpdateInput, } from "./gen/oauthapp.js";
|
|
52
56
|
export { McpServerClient, buildMcpServerProto, toMcpServerUpdateInput, } from "./gen/mcpserver.js";
|
|
@@ -54,7 +58,7 @@ export { MemoryClient, buildMemoryProto, toMemoryUpdateInput, } from "./gen/memo
|
|
|
54
58
|
export { connectAndWait, ConnectStillRunningError, CONNECT_POLL_INTERVAL_MS, CONNECT_SETTLE_BOUND_MS, } from "./mcpserver-connect.js";
|
|
55
59
|
export { OrganizationClient, toOrganizationUpdateInput, } from "./gen/organization.js";
|
|
56
60
|
export { PlatformClientClient, toPlatformClientUpdateInput, } from "./gen/platformclient.js";
|
|
57
|
-
export { ProjectClient, toProjectUpdateInput } from "./gen/project.js";
|
|
61
|
+
export { ProjectClient, toProjectUpdateInput, } from "./gen/project.js";
|
|
58
62
|
export { ScheduleClient, buildScheduleProto, toScheduleUpdateInput, } from "./gen/schedule.js";
|
|
59
63
|
export { SessionClient, toSessionUpdateInput, } from "./gen/session.js";
|
|
60
64
|
// Session utilities (hand-written)
|
package/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,8BAA8B;AAE9B,mBAAmB;AACnB,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAEvC,iBAAiB;AACjB,OAAO,EAGL,mBAAmB,GACpB,MAAM,qBAAqB,CAAC;AAK7B,4EAA4E;AAC5E,OAAO,EACL,eAAe,EACf,SAAS,GAGV,MAAM,iBAAiB,CAAC;AAEzB,8DAA8D;AAC9D,OAAO,EACL,mBAAmB,EACnB,gBAAgB,EAChB,cAAc,EACd,QAAQ,EACR,YAAY,EACZ,eAAe,EACf,mBAAmB,EACnB,iBAAiB,GAClB,MAAM,cAAc,CAAC;AAEtB,iBAAiB;AACjB,OAAO,EACL,YAAY,EAEZ,UAAU,EACV,iBAAiB,EACjB,kBAAkB,EAClB,WAAW,EACX,eAAe,EAEf,cAAc,EACd,aAAa,EACb,gBAAgB,EAChB,sBAAsB,EACtB,cAAc,EAEd,cAAc,EAEd,gBAAgB,EAChB,cAAc,GACf,MAAM,aAAa,CAAC;AAErB
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|