@axtrabase/cli 0.5.1 → 0.6.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/dist/commands/identity.d.ts +8 -0
- package/dist/commands/identity.d.ts.map +1 -0
- package/dist/commands/identity.js +85 -0
- package/dist/commands/identity.js.map +1 -0
- package/dist/http/authenticated-client.d.ts +3 -1
- package/dist/http/authenticated-client.d.ts.map +1 -1
- package/dist/http/authenticated-client.js +18 -0
- package/dist/http/authenticated-client.js.map +1 -1
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -1
- package/dist/version.d.ts +1 -1
- package/dist/version.js +1 -1
- package/package.json +2 -3
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { Command } from "commander";
|
|
2
|
+
/**
|
|
3
|
+
* "Contact for this user" from the terminal (Sprint 16, D7 level 2): for
|
|
4
|
+
* trying the matching rules before wiring sign-in, linking someone by hand,
|
|
5
|
+
* and for agents. Same endpoint and rules as the SDK.
|
|
6
|
+
*/
|
|
7
|
+
export declare function registerIdentityCommand(program: Command): void;
|
|
8
|
+
//# sourceMappingURL=identity.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"identity.d.ts","sourceRoot":"","sources":["../../src/commands/identity.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAqCzC;;;;GAIG;AACH,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CA6C9D"}
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
import { contactLinkValue } from "@axtrabase/sdk";
|
|
2
|
+
import { requireIdentityClient } from "../http/authenticated-client.js";
|
|
3
|
+
import { printJson, printLine } from "../output/print.js";
|
|
4
|
+
import { runWithErrorHandling } from "../report-error.js";
|
|
5
|
+
const IDENTITY_EXAMPLES = [
|
|
6
|
+
"",
|
|
7
|
+
"Examples:",
|
|
8
|
+
" axtrabase identity contact --provider entra --user-id <oid> --email a@example.org --email-verified",
|
|
9
|
+
" axtrabase identity contact --provider auth0 --user-id 'google-oauth2|1160...' --no-create",
|
|
10
|
+
" axtrabase identity link-value --provider entra --user-id <oid>",
|
|
11
|
+
"",
|
|
12
|
+
"Your app calls the same thing after sign-in: axtra.identity.contactForUser(...) in @axtrabase/sdk.",
|
|
13
|
+
"Uses a project API key (AXTRABASE_API_KEY) with read and update on contact, and create to create."
|
|
14
|
+
].join("\n");
|
|
15
|
+
/**
|
|
16
|
+
* "Contact for this user" from the terminal (Sprint 16, D7 level 2): for
|
|
17
|
+
* trying the matching rules before wiring sign-in, linking someone by hand,
|
|
18
|
+
* and for agents. Same endpoint and rules as the SDK.
|
|
19
|
+
*/
|
|
20
|
+
export function registerIdentityCommand(program) {
|
|
21
|
+
const identity = program
|
|
22
|
+
.command("identity")
|
|
23
|
+
.description("Link people from your app's sign-in provider to Dataverse contacts")
|
|
24
|
+
.addHelpText("after", IDENTITY_EXAMPLES);
|
|
25
|
+
identity
|
|
26
|
+
.command("contact")
|
|
27
|
+
.description("Find, link or create the contact for a signed-in person (already linked, verified email, or new)")
|
|
28
|
+
.requiredOption("--provider <name>", "your short name for the provider, e.g. entra, google")
|
|
29
|
+
.requiredOption("--user-id <id>", "the provider's stable user ID (sub or oid), never the email")
|
|
30
|
+
.option("--email <email>", "the person's email")
|
|
31
|
+
.option("--email-verified", "the provider verified the email (only then is it matched or stored)")
|
|
32
|
+
.option("--first-name <name>", "first name for a new contact")
|
|
33
|
+
.option("--last-name <name>", "last name for a new contact")
|
|
34
|
+
.option("--no-create", "do not create a contact when nothing matches")
|
|
35
|
+
.option("--power-pages-provider <name>", "Power Pages sites: the adx_identityprovidername stored for this sign-in")
|
|
36
|
+
.action(async function () {
|
|
37
|
+
const options = this.optsWithGlobals();
|
|
38
|
+
await runWithErrorHandling(() => runContact(options), options);
|
|
39
|
+
});
|
|
40
|
+
identity
|
|
41
|
+
.command("link-value")
|
|
42
|
+
.description("Print the externaluseridentifier value AxtraBase stores for a sign-in (computed locally)")
|
|
43
|
+
.requiredOption("--provider <name>", "your short name for the provider")
|
|
44
|
+
.requiredOption("--user-id <id>", "the provider's stable user ID")
|
|
45
|
+
.action(async function () {
|
|
46
|
+
const options = this.optsWithGlobals();
|
|
47
|
+
await runWithErrorHandling(async () => {
|
|
48
|
+
const value = await contactLinkValue(options.provider, options.userId);
|
|
49
|
+
if (options.json)
|
|
50
|
+
printJson({ provider: options.provider, linkValue: value });
|
|
51
|
+
else
|
|
52
|
+
printLine(value);
|
|
53
|
+
}, options);
|
|
54
|
+
});
|
|
55
|
+
}
|
|
56
|
+
async function runContact(options) {
|
|
57
|
+
const identity = requireIdentityClient({ apiUrl: options.apiUrl });
|
|
58
|
+
const { data } = await identity.contactForUser({
|
|
59
|
+
provider: options.provider,
|
|
60
|
+
userId: options.userId,
|
|
61
|
+
...(options.email ? { email: options.email } : {}),
|
|
62
|
+
...(options.emailVerified ? { emailVerified: true } : {}),
|
|
63
|
+
...(options.firstName ? { firstName: options.firstName } : {}),
|
|
64
|
+
...(options.lastName ? { lastName: options.lastName } : {}),
|
|
65
|
+
...(options.create === false ? { create: false } : {}),
|
|
66
|
+
...(options.powerPagesProvider ? { powerPagesProvider: options.powerPagesProvider } : {})
|
|
67
|
+
});
|
|
68
|
+
if (options.json) {
|
|
69
|
+
printJson(data);
|
|
70
|
+
return;
|
|
71
|
+
}
|
|
72
|
+
const how = {
|
|
73
|
+
existing: "already linked to this sign-in",
|
|
74
|
+
matched_email: "matched by verified email",
|
|
75
|
+
matched_power_pages: "found through Power Pages",
|
|
76
|
+
created: "created"
|
|
77
|
+
};
|
|
78
|
+
const name = typeof data.contact.fullname === "string" ? ` (${data.contact.fullname})` : "";
|
|
79
|
+
printLine(`Contact ${data.contactId}${name}: ${how[data.outcome]}.`);
|
|
80
|
+
if (!data.linked)
|
|
81
|
+
printLine("Not linked: its externaluseridentifier holds another system's value.");
|
|
82
|
+
for (const warning of data.warnings)
|
|
83
|
+
printLine(`Note: ${warning}`);
|
|
84
|
+
}
|
|
85
|
+
//# sourceMappingURL=identity.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"identity.js","sourceRoot":"","sources":["../../src/commands/identity.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAElD,OAAO,EAAE,qBAAqB,EAAE,MAAM,iCAAiC,CAAC;AACxE,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC1D,OAAO,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAuB1D,MAAM,iBAAiB,GAAG;IACxB,EAAE;IACF,WAAW;IACX,sGAAsG;IACtG,6FAA6F;IAC7F,kEAAkE;IAClE,EAAE;IACF,oGAAoG;IACpG,mGAAmG;CACpG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAEb;;;;GAIG;AACH,MAAM,UAAU,uBAAuB,CAAC,OAAgB;IACtD,MAAM,QAAQ,GAAG,OAAO;SACrB,OAAO,CAAC,UAAU,CAAC;SACnB,WAAW,CAAC,oEAAoE,CAAC;SACjF,WAAW,CAAC,OAAO,EAAE,iBAAiB,CAAC,CAAC;IAE3C,QAAQ;SACL,OAAO,CAAC,SAAS,CAAC;SAClB,WAAW,CACV,kGAAkG,CACnG;SACA,cAAc,CAAC,mBAAmB,EAAE,sDAAsD,CAAC;SAC3F,cAAc,CAAC,gBAAgB,EAAE,6DAA6D,CAAC;SAC/F,MAAM,CAAC,iBAAiB,EAAE,oBAAoB,CAAC;SAC/C,MAAM,CACL,kBAAkB,EAClB,qEAAqE,CACtE;SACA,MAAM,CAAC,qBAAqB,EAAE,8BAA8B,CAAC;SAC7D,MAAM,CAAC,oBAAoB,EAAE,6BAA6B,CAAC;SAC3D,MAAM,CAAC,aAAa,EAAE,8CAA8C,CAAC;SACrE,MAAM,CACL,+BAA+B,EAC/B,yEAAyE,CAC1E;SACA,MAAM,CAAC,KAAK;QACX,MAAM,OAAO,GAAG,IAAI,CAAC,eAAe,EAAkB,CAAC;QACvD,MAAM,oBAAoB,CAAC,GAAG,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC,CAAC;IACjE,CAAC,CAAC,CAAC;IAEL,QAAQ;SACL,OAAO,CAAC,YAAY,CAAC;SACrB,WAAW,CACV,0FAA0F,CAC3F;SACA,cAAc,CAAC,mBAAmB,EAAE,kCAAkC,CAAC;SACvE,cAAc,CAAC,gBAAgB,EAAE,+BAA+B,CAAC;SACjE,MAAM,CAAC,KAAK;QACX,MAAM,OAAO,GAAG,IAAI,CAAC,eAAe,EAAoB,CAAC;QACzD,MAAM,oBAAoB,CAAC,KAAK,IAAI,EAAE;YACpC,MAAM,KAAK,GAAG,MAAM,gBAAgB,CAAC,OAAO,CAAC,QAAQ,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;YACvE,IAAI,OAAO,CAAC,IAAI;gBAAE,SAAS,CAAC,EAAE,QAAQ,EAAE,OAAO,CAAC,QAAQ,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,CAAC;;gBACzE,SAAS,CAAC,KAAK,CAAC,CAAC;QACxB,CAAC,EAAE,OAAO,CAAC,CAAC;IACd,CAAC,CAAC,CAAC;AACP,CAAC;AAED,KAAK,UAAU,UAAU,CAAC,OAAuB;IAC/C,MAAM,QAAQ,GAAG,qBAAqB,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;IACnE,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,QAAQ,CAAC,cAAc,CAAC;QAC7C,QAAQ,EAAE,OAAO,CAAC,QAAQ;QAC1B,MAAM,EAAE,OAAO,CAAC,MAAM;QACtB,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAClD,GAAG,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACzD,GAAG,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,OAAO,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC9D,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC3D,GAAG,CAAC,OAAO,CAAC,MAAM,KAAK,KAAK,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACtD,GAAG,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC,CAAC,EAAE,kBAAkB,EAAE,OAAO,CAAC,kBAAkB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAC1F,CAAC,CAAC;IAEH,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;QACjB,SAAS,CAAC,IAAI,CAAC,CAAC;QAChB,OAAO;IACT,CAAC;IACD,MAAM,GAAG,GAAwC;QAC/C,QAAQ,EAAE,gCAAgC;QAC1C,aAAa,EAAE,2BAA2B;QAC1C,mBAAmB,EAAE,2BAA2B;QAChD,OAAO,EAAE,SAAS;KACnB,CAAC;IACF,MAAM,IAAI,GAAG,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;IAC5F,SAAS,CAAC,WAAW,IAAI,CAAC,SAAS,GAAG,IAAI,KAAK,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IACrE,IAAI,CAAC,IAAI,CAAC,MAAM;QACd,SAAS,CAAC,sEAAsE,CAAC,CAAC;IACpF,KAAK,MAAM,OAAO,IAAI,IAAI,CAAC,QAAQ;QAAE,SAAS,CAAC,SAAS,OAAO,EAAE,CAAC,CAAC;AACrE,CAAC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { type EventsClient, type TableClient } from "@axtrabase/sdk";
|
|
1
|
+
import { type EventsClient, type IdentityClient, type TableClient } from "@axtrabase/sdk";
|
|
2
2
|
import { ControlPlaneClient } from "./client.js";
|
|
3
3
|
export interface ClientOverrides {
|
|
4
4
|
apiUrl?: string;
|
|
@@ -29,4 +29,6 @@ export declare function requireEventsClient(overrides?: ClientOverrides): Events
|
|
|
29
29
|
* discover separately.
|
|
30
30
|
*/
|
|
31
31
|
export declare function requireTableClient(table: string, overrides?: ClientOverrides): TableClient;
|
|
32
|
+
/** "Contact for this user" (Sprint 16): data plane, so a project API key like records and events. */
|
|
33
|
+
export declare function requireIdentityClient(overrides?: ClientOverrides): IdentityClient;
|
|
32
34
|
//# sourceMappingURL=authenticated-client.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"authenticated-client.d.ts","sourceRoot":"","sources":["../../src/http/authenticated-client.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"authenticated-client.d.ts","sourceRoot":"","sources":["../../src/http/authenticated-client.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,YAAY,EACjB,KAAK,cAAc,EACnB,KAAK,WAAW,EACjB,MAAM,gBAAgB,CAAC;AAOxB,OAAO,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAGjD,MAAM,WAAW,eAAe;IAC9B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,yJAAyJ;AACzJ,wBAAgB,wBAAwB,CAAC,SAAS,GAAE,eAAoB,GAAG,kBAAkB,CAM5F;AAED,+LAA+L;AAC/L,wBAAgB,yBAAyB,CAAC,SAAS,GAAE,eAAoB,GAAG,kBAAkB,CAc7F;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,mBAAmB,CAAC,SAAS,GAAE,eAAoB,GAAG,YAAY,CA+BjF;AAED;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,MAAM,EAAE,SAAS,GAAE,eAAoB,GAAG,WAAW,CAgB9F;AAED,qGAAqG;AACrG,wBAAgB,qBAAqB,CAAC,SAAS,GAAE,eAAoB,GAAG,cAAc,CAwBrF"}
|
|
@@ -78,4 +78,22 @@ export function requireTableClient(table, overrides = {}) {
|
|
|
78
78
|
}
|
|
79
79
|
return new AxtraBase({ apiKey, baseUrl: resolveApiUrl(overrides.apiUrl) }).table(table);
|
|
80
80
|
}
|
|
81
|
+
/** "Contact for this user" (Sprint 16): data plane, so a project API key like records and events. */
|
|
82
|
+
export function requireIdentityClient(overrides = {}) {
|
|
83
|
+
const apiKey = resolveApiKey();
|
|
84
|
+
if (!apiKey) {
|
|
85
|
+
throw new CliError("AXTRA_CLI_NO_API_KEY", "No API key available. Linking a sign-in to a contact uses a project API key, not your CLI login.\n\n" +
|
|
86
|
+
"The key needs read and update on contact (and create to create contacts):\n" +
|
|
87
|
+
" axtrabase permissions grant <key-id> contact --read --update --create\n\n" +
|
|
88
|
+
"Then set it for this shell (never persisted or logged by this CLI):\n" +
|
|
89
|
+
" export AXTRABASE_API_KEY=<the printed key>", { status: 0 });
|
|
90
|
+
}
|
|
91
|
+
const identity = new AxtraBase({ apiKey, baseUrl: resolveApiUrl(overrides.apiUrl) }).identity;
|
|
92
|
+
if (!identity) {
|
|
93
|
+
// Same guard as requireEventsClient: an older installed SDK.
|
|
94
|
+
throw new CliError("AXTRA_CLI_SDK_OUT_OF_DATE", "The installed @axtrabase/sdk does not support identity. Update it:\n\n" +
|
|
95
|
+
" npm install @axtrabase/sdk@latest", { status: 0 });
|
|
96
|
+
}
|
|
97
|
+
return identity;
|
|
98
|
+
}
|
|
81
99
|
//# sourceMappingURL=authenticated-client.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"authenticated-client.js","sourceRoot":"","sources":["../../src/http/authenticated-client.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"authenticated-client.js","sourceRoot":"","sources":["../../src/http/authenticated-client.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -14,6 +14,7 @@ import { registerOrganisationsCommand } from "./commands/organisations.js";
|
|
|
14
14
|
import { registerPermissionsCommand } from "./commands/permissions.js";
|
|
15
15
|
import { registerFilesCommand } from "./commands/files.js";
|
|
16
16
|
import { registerRecordsCommand } from "./commands/records.js";
|
|
17
|
+
import { registerIdentityCommand } from "./commands/identity.js";
|
|
17
18
|
import { registerProjectsCommand } from "./commands/projects.js";
|
|
18
19
|
import { registerRequestsCommand } from "./commands/requests.js";
|
|
19
20
|
import { registerSchemaCommand } from "./commands/schema.js";
|
|
@@ -46,6 +47,7 @@ registerContextCommand(program);
|
|
|
46
47
|
registerSchemaCommand(program);
|
|
47
48
|
registerPermissionsCommand(program);
|
|
48
49
|
registerRecordsCommand(program);
|
|
50
|
+
registerIdentityCommand(program);
|
|
49
51
|
registerFilesCommand(program);
|
|
50
52
|
registerKeysCommand(program);
|
|
51
53
|
registerRequestsCommand(program);
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/version.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
/** Bump alongside package.json's version — read at runtime for --version and the X-AxtraBase-Client User-Agent, same convention as @axtrabase/sdk's SDK_VERSION. */
|
|
2
|
-
export declare const CLI_VERSION = "0.
|
|
2
|
+
export declare const CLI_VERSION = "0.6.0";
|
|
3
3
|
export declare const CLI_CLIENT_NAME = "axtrabase-cli";
|
|
4
4
|
//# sourceMappingURL=version.d.ts.map
|
package/dist/version.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
/** Bump alongside package.json's version — read at runtime for --version and the X-AxtraBase-Client User-Agent, same convention as @axtrabase/sdk's SDK_VERSION. */
|
|
2
|
-
export const CLI_VERSION = "0.
|
|
2
|
+
export const CLI_VERSION = "0.6.0";
|
|
3
3
|
export const CLI_CLIENT_NAME = "axtrabase-cli";
|
|
4
4
|
//# sourceMappingURL=version.js.map
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@axtrabase/cli",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.6.0",
|
|
4
4
|
"description": "The AxtraBase CLI — inspect an AxtraBase project's schema, permissions, and environment, and build against it without touching Dataverse directly.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"license": "UNLICENSED",
|
|
@@ -21,7 +21,6 @@
|
|
|
21
21
|
},
|
|
22
22
|
"exports": {
|
|
23
23
|
".": {
|
|
24
|
-
"development": "./src/index.ts",
|
|
25
24
|
"types": "./dist/index.d.ts",
|
|
26
25
|
"import": "./dist/index.js",
|
|
27
26
|
"default": "./dist/index.js"
|
|
@@ -34,7 +33,7 @@
|
|
|
34
33
|
],
|
|
35
34
|
"dependencies": {
|
|
36
35
|
"commander": "^12.1.0",
|
|
37
|
-
"@axtrabase/sdk": "^0.
|
|
36
|
+
"@axtrabase/sdk": "^0.4.0"
|
|
38
37
|
},
|
|
39
38
|
"devDependencies": {
|
|
40
39
|
"typescript": "^5.5.3",
|