@jentra/cli 0.0.0-stage → 0.1.1

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.
@@ -0,0 +1,3 @@
1
+ #!/usr/bin/env node
2
+ export {};
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":""}
package/dist/index.js ADDED
@@ -0,0 +1,144 @@
1
+ #!/usr/bin/env node
2
+ import { JentraApiError, JentraClient } from "@jentra/sdk";
3
+ import { sha256 } from "@jentra/contracts";
4
+ const VERSION = "0.1.1";
5
+ class CliError extends Error {
6
+ code;
7
+ constructor(code, message) {
8
+ super(message);
9
+ this.code = code;
10
+ this.name = "CliError";
11
+ }
12
+ }
13
+ void main().catch((error) => {
14
+ const json = process.argv.includes("--json");
15
+ const value = error instanceof JentraApiError
16
+ ? {
17
+ error: {
18
+ code: error.code,
19
+ message: error.message,
20
+ status: error.status,
21
+ retryClass: error.retryClass,
22
+ remediationActions: error.remediationActions,
23
+ correlationId: error.correlationId,
24
+ ...(error.targetRef ? { targetRef: error.targetRef } : {}),
25
+ ...(error.currentVersion !== undefined ? { currentVersion: error.currentVersion } : {}),
26
+ },
27
+ }
28
+ : error instanceof CliError
29
+ ? {
30
+ error: {
31
+ code: error.code,
32
+ message: error.message,
33
+ retryClass: "USER_ACTION",
34
+ remediationActions: ["Configure a Jentra session or development identity."],
35
+ correlationId: "unavailable",
36
+ },
37
+ }
38
+ : {
39
+ error: {
40
+ code: "CLI_ERROR",
41
+ message: error instanceof Error ? error.message : "Jentra CLI failed.",
42
+ retryClass: "NEVER",
43
+ remediationActions: [],
44
+ correlationId: "unavailable",
45
+ },
46
+ };
47
+ console.error(json ? JSON.stringify(value) : `${value.error.code}: ${value.error.message}`);
48
+ process.exitCode = error instanceof JentraApiError ? 4 : 3;
49
+ });
50
+ async function main() {
51
+ const [command, journeyId, worldId, retentionMode] = process.argv.slice(2);
52
+ const baseUrl = process.env.JENTRA_API_URL ?? "http://127.0.0.1:8787";
53
+ const client = new JentraClient(baseUrl, {
54
+ authenticationHeaders: async () => authenticationHeaders(),
55
+ });
56
+ if (command === "--version" || command === "version") {
57
+ console.log(VERSION);
58
+ }
59
+ else if (command === "--help" || command === "help") {
60
+ console.log(usage());
61
+ }
62
+ else if (command === "journey" && journeyId) {
63
+ const result = await client.journey(journeyId);
64
+ console.log(process.argv.includes("--json")
65
+ ? JSON.stringify(result)
66
+ : `Journey ${journeyId}\n${JSON.stringify(result, null, 2)}`);
67
+ }
68
+ else if (command === "attention" && journeyId) {
69
+ const result = await client.attention(journeyId, process.argv.includes("--advanced") ? "advanced" : "guided");
70
+ console.log(process.argv.includes("--json") ? JSON.stringify(result) : JSON.stringify(result, null, 2));
71
+ }
72
+ else if (command === "assurance" && journeyId) {
73
+ const result = await client.assurance(journeyId, process.argv.includes("--advanced") ? "advanced" : "guided");
74
+ console.log(process.argv.includes("--json") ? JSON.stringify(result) : JSON.stringify(result, null, 2));
75
+ }
76
+ else if ((command === "decisions" || command === "resolution") && journeyId) {
77
+ const mode = process.argv.includes("--advanced") ? "advanced" : "guided";
78
+ const result = command === "decisions"
79
+ ? await client.decisions(journeyId, mode)
80
+ : await client.resolution(journeyId, mode);
81
+ console.log(process.argv.includes("--json") ? JSON.stringify(result) : JSON.stringify(result, null, 2));
82
+ }
83
+ else if (command === "experience" && journeyId) {
84
+ const mode = process.argv.includes("--advanced")
85
+ ? "advanced"
86
+ : process.argv.includes("--standard")
87
+ ? "standard"
88
+ : "guided";
89
+ const result = await client.experience(journeyId, mode);
90
+ console.log(JSON.stringify(result, null, process.argv.includes("--json") ? 0 : 2));
91
+ }
92
+ else if (command === "why" && journeyId && worldId) {
93
+ const mode = process.argv.includes("--advanced")
94
+ ? "advanced"
95
+ : process.argv.includes("--standard")
96
+ ? "standard"
97
+ : "guided";
98
+ const result = await client.why(journeyId, worldId, mode);
99
+ console.log(JSON.stringify(result, null, process.argv.includes("--json") ? 0 : 2));
100
+ }
101
+ else if (command === "retention" &&
102
+ journeyId &&
103
+ worldId &&
104
+ retentionMode &&
105
+ ["KEEP", "ARCHIVE", "CLEAN_UP_AFTER_REVIEW", "DISPOSABLE"].includes(retentionMode)) {
106
+ const snapshot = (await client.journey(journeyId));
107
+ const payload = { worldId, retentionMode };
108
+ const id = crypto.randomUUID();
109
+ const envelope = {
110
+ commandId: `cli-${id}`,
111
+ commandType: "SetWorldRetention",
112
+ schemaVersion: 1,
113
+ journeyId,
114
+ aggregateVersionExpected: snapshot.state.version,
115
+ actor: { participantId: "authenticated-cli-user", clientSessionId: `cli-${id}` },
116
+ authority: { roleBindingId: "role-owner", capabilityGrantIds: ["grant-owner"] },
117
+ policySnapshotId: "policy-guided-balanced-v1",
118
+ correlationId: `cli-${id}`,
119
+ idempotencyKey: `cli-retention-${id}`,
120
+ receivedAt: new Date().toISOString(),
121
+ payload,
122
+ payloadHash: await sha256(payload),
123
+ };
124
+ const result = await client.command(envelope);
125
+ console.log(process.argv.includes("--json")
126
+ ? JSON.stringify(result)
127
+ : `World ${worldId} retention set to ${retentionMode}.`);
128
+ }
129
+ else {
130
+ console.error(usage());
131
+ process.exitCode = 2;
132
+ }
133
+ }
134
+ function usage() {
135
+ return "Usage:\n jentra journey <journey-id> [--json]\n jentra experience <journey-id> [--standard|--advanced] [--json]\n jentra why <journey-id> <commit-or-ref> [--standard|--advanced] [--json]\n jentra attention <journey-id> [--advanced] [--json]\n jentra assurance <journey-id> [--advanced] [--json]\n jentra decisions <journey-id> [--advanced] [--json]\n jentra resolution <journey-id> [--advanced] [--json]\n jentra retention <journey-id> <world-id> <KEEP|ARCHIVE|CLEAN_UP_AFTER_REVIEW|DISPOSABLE> [--json]\n jentra --help\n jentra --version";
136
+ }
137
+ function authenticationHeaders() {
138
+ if (process.env.JENTRA_TEST_PARTICIPANT)
139
+ return { "x-jentra-test-participant": process.env.JENTRA_TEST_PARTICIPANT };
140
+ if (process.env.JENTRA_SESSION_TOKEN)
141
+ return { authorization: `Bearer ${process.env.JENTRA_SESSION_TOKEN}` };
142
+ throw new CliError("AUTHENTICATION_NOT_CONFIGURED", "Authentication is not configured. Set JENTRA_SESSION_TOKEN, or JENTRA_TEST_PARTICIPANT for local development.");
143
+ }
144
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,21 @@
1
1
  {
2
2
  "name": "@jentra/cli",
3
- "version": "0.0.0-stage",
4
- "stub": true,
5
- "description": "Temporary package placeholder for staged publishing"
6
- }
3
+ "version": "0.1.1",
4
+ "type": "module",
5
+ "bin": {
6
+ "jentra": "dist/index.js"
7
+ },
8
+ "files": [
9
+ "dist/index.js",
10
+ "dist/index.js.map",
11
+ "dist/index.d.ts",
12
+ "dist/index.d.ts.map"
13
+ ],
14
+ "publishConfig": {
15
+ "access": "public"
16
+ },
17
+ "dependencies": {
18
+ "@jentra/contracts": "^0.1.1",
19
+ "@jentra/sdk": "^0.1.1"
20
+ }
21
+ }
package/README.md DELETED
@@ -1,3 +0,0 @@
1
- # Temporary Holding Version
2
-
3
- This version is a temporary placeholder for this package. An operational version to replace this has been submitted for review and is awaiting a staged release.