@tinkerlandai/longplay-cli 0.3.18 → 0.3.19
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/CHANGELOG.md +4 -0
- package/README.md +2 -2
- package/dist/main.js +64 -23
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,9 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 0.3.19 — 2026-11-06
|
|
4
|
+
|
|
5
|
+
- Publish through GitHub Actions Trusted Publishing, with the registry publisher identity verified before completing the release.
|
|
6
|
+
|
|
3
7
|
## 0.3.18 — 2026-11-06
|
|
4
8
|
|
|
5
9
|
- Update from `cdn.longplayai.com`. Installed CLIs on the website channel keep working after the public site and Console moved to their own hosts.
|
package/README.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# Longplay CLI
|
|
2
2
|
|
|
3
|
-
Longplay CLI **0.3.
|
|
3
|
+
Longplay CLI **0.3.19**, Node.js 22+. The executable is `longplay`. CLI versions are independent of the Customer SDKs.
|
|
4
4
|
|
|
5
5
|
Install the public npm package:
|
|
6
6
|
|
|
@@ -11,7 +11,7 @@ longplay doctor --server https://console.longplayai.com --json
|
|
|
11
11
|
longplay login --server https://console.longplayai.com
|
|
12
12
|
```
|
|
13
13
|
|
|
14
|
-
For a reproducible installation, use `npm install -g @tinkerlandai/longplay-cli@0.3.
|
|
14
|
+
For a reproducible installation, use `npm install -g @tinkerlandai/longplay-cli@0.3.19`. Uninstall with `npm uninstall -g @tinkerlandai/longplay-cli`. Node.js 22+ must be on PATH; the package includes the `longplay` command and npm installs its runtime dependencies.
|
|
15
15
|
|
|
16
16
|
The existing website installation channel remains available on macOS and Linux:
|
|
17
17
|
|
package/dist/main.js
CHANGED
|
@@ -5815,7 +5815,7 @@ function managementOperationPolicy(operation2, input) {
|
|
|
5815
5815
|
// package.json
|
|
5816
5816
|
var package_default = {
|
|
5817
5817
|
name: "@indiana/cli",
|
|
5818
|
-
version: "0.3.
|
|
5818
|
+
version: "0.3.19",
|
|
5819
5819
|
private: true,
|
|
5820
5820
|
description: "Longplay management CLI",
|
|
5821
5821
|
type: "module",
|
|
@@ -6104,6 +6104,11 @@ var merchantOperationProblemSchema = z15.strictObject({
|
|
|
6104
6104
|
(p) => p.reason !== "RESULT_UNKNOWN" || !p.retryable && p.recovery === "recover_operation",
|
|
6105
6105
|
"Unknown financial effects require recovery of the original operation"
|
|
6106
6106
|
);
|
|
6107
|
+
var merchantPaymentRedirectSchema = z15.strictObject({
|
|
6108
|
+
type: z15.literal("redirect"),
|
|
6109
|
+
url: z15.url().startsWith("https://"),
|
|
6110
|
+
expiresAt: at
|
|
6111
|
+
});
|
|
6107
6112
|
var snapshot = {
|
|
6108
6113
|
operationId: z15.uuid(),
|
|
6109
6114
|
customerId: z15.uuid(),
|
|
@@ -6145,7 +6150,8 @@ var merchantExecutionSnapshotSchema = z15.discriminatedUnion("type", [
|
|
|
6145
6150
|
type: z15.literal("subscription_change"),
|
|
6146
6151
|
status: z15.enum(["pending", "scheduled", "applied", "failed", "unknown"]),
|
|
6147
6152
|
merchantSubscriptionId: reference,
|
|
6148
|
-
scheduledFor: at.nullable()
|
|
6153
|
+
scheduledFor: at.nullable(),
|
|
6154
|
+
nextAction: merchantPaymentRedirectSchema.optional()
|
|
6149
6155
|
}).refine(
|
|
6150
6156
|
(s) => s.status === "scheduled" === (s.scheduledFor !== null),
|
|
6151
6157
|
"A scheduled change retains its future effective time"
|
|
@@ -13079,6 +13085,7 @@ var publicFeatureConfigurationSchema = featureDeliveryPayloadSchema.omit({ evalu
|
|
|
13079
13085
|
});
|
|
13080
13086
|
});
|
|
13081
13087
|
var evaluateFeaturesRequestSchema = z70.strictObject({
|
|
13088
|
+
/** With a Customer, this is request context only: `customerIdentityAttributes` are refused because the Customer supplies them. */
|
|
13082
13089
|
attributes: growthAttributesSchema,
|
|
13083
13090
|
features: z70.array(z70.string().min(1).max(255)).max(500).optional(),
|
|
13084
13091
|
/** A server credential may select a Customer; a Customer credential must omit this field. */
|
|
@@ -13110,25 +13117,59 @@ var evaluateFeaturesResultSchema = z70.strictObject({
|
|
|
13110
13117
|
merchandise: growthAttributesSchema
|
|
13111
13118
|
}).optional()
|
|
13112
13119
|
});
|
|
13120
|
+
var trackedEventFields = {
|
|
13121
|
+
eventUuid: z70.uuid(),
|
|
13122
|
+
timestamp: z70.iso.datetime({ offset: true }),
|
|
13123
|
+
merchandise: merchandiseReferenceSchema.optional(),
|
|
13124
|
+
deviceId: z70.string().min(1).max(255).optional(),
|
|
13125
|
+
sessionId: z70.string().min(1).max(255).optional()
|
|
13126
|
+
};
|
|
13127
|
+
var evaluationEventFields = {
|
|
13128
|
+
...trackedEventFields,
|
|
13129
|
+
generation: featurePayloadSchema.shape.generation
|
|
13130
|
+
};
|
|
13131
|
+
var trackEventSchema = z70.discriminatedUnion("kind", [
|
|
13132
|
+
z70.strictObject({
|
|
13133
|
+
...trackedEventFields,
|
|
13134
|
+
kind: z70.literal("custom"),
|
|
13135
|
+
name: z70.string().min(1).max(255),
|
|
13136
|
+
properties: z70.record(z70.string(), jsonValueSchema).default({})
|
|
13137
|
+
}),
|
|
13138
|
+
z70.strictObject({
|
|
13139
|
+
...evaluationEventFields,
|
|
13140
|
+
kind: z70.literal("experiment_exposure"),
|
|
13141
|
+
experimentId: z70.string().min(1).max(255),
|
|
13142
|
+
variationId: z70.string().min(1).max(255)
|
|
13143
|
+
}),
|
|
13144
|
+
z70.strictObject({
|
|
13145
|
+
...evaluationEventFields,
|
|
13146
|
+
kind: z70.literal("feature_usage"),
|
|
13147
|
+
feature: z70.string().min(1).max(255),
|
|
13148
|
+
value: jsonValueSchema,
|
|
13149
|
+
source: remoteFeatureResultSchema.shape.source,
|
|
13150
|
+
ruleId: z70.string().max(255),
|
|
13151
|
+
variationId: z70.string().min(1).max(255).optional()
|
|
13152
|
+
})
|
|
13153
|
+
]);
|
|
13113
13154
|
var trackEventsRequestSchema = z70.strictObject({
|
|
13114
13155
|
customerId: z70.uuid().optional(),
|
|
13115
|
-
events: z70.array(
|
|
13116
|
-
|
|
13117
|
-
|
|
13118
|
-
|
|
13119
|
-
|
|
13120
|
-
|
|
13121
|
-
|
|
13122
|
-
|
|
13123
|
-
|
|
13124
|
-
|
|
13125
|
-
).min(1).max(100)
|
|
13156
|
+
events: z70.array(trackEventSchema).min(1).max(100)
|
|
13157
|
+
});
|
|
13158
|
+
var trackEventRejectionSchema = z70.strictObject({
|
|
13159
|
+
eventUuid: z70.uuid(),
|
|
13160
|
+
reason: z70.enum([
|
|
13161
|
+
"invalid_event",
|
|
13162
|
+
"invalid_merchandise",
|
|
13163
|
+
"not_delivered",
|
|
13164
|
+
"reserved_name"
|
|
13165
|
+
])
|
|
13126
13166
|
});
|
|
13127
13167
|
var trackEventsResultSchema = z70.strictObject({
|
|
13128
13168
|
inserted: z70.number().int().nonnegative(),
|
|
13129
13169
|
duplicates: z70.number().int().nonnegative(),
|
|
13130
13170
|
rejected: z70.number().int().nonnegative(),
|
|
13131
13171
|
skipped: z70.number().int().nonnegative(),
|
|
13172
|
+
rejections: z70.array(trackEventRejectionSchema).max(100),
|
|
13132
13173
|
analyticsConfig: analyticsConfigSchema
|
|
13133
13174
|
});
|
|
13134
13175
|
|
|
@@ -13663,6 +13704,13 @@ var funnelDecisionSegmentEvaluationSchema = funnelSegmentEvaluationInstructionSc
|
|
|
13663
13704
|
|
|
13664
13705
|
// ../contracts/src/customer.ts
|
|
13665
13706
|
import { z as z80 } from "zod";
|
|
13707
|
+
var customerIdentityAttributes = [
|
|
13708
|
+
"id",
|
|
13709
|
+
"externalUserId",
|
|
13710
|
+
"createdAt",
|
|
13711
|
+
"ageDays",
|
|
13712
|
+
"subscription"
|
|
13713
|
+
];
|
|
13666
13714
|
var customerTagsSchema = z80.array(
|
|
13667
13715
|
z80.string().trim().min(1).max(40).refine((v) => !v.includes(","), "\u6807\u7B7E\u4E0D\u80FD\u5305\u542B\u9017\u53F7")
|
|
13668
13716
|
).max(20).refine((v) => new Set(v).size === v.length, "\u6807\u7B7E\u4E0D\u80FD\u91CD\u590D");
|
|
@@ -13670,16 +13718,9 @@ var customerAttributesSchema = z80.intersection(
|
|
|
13670
13718
|
growthAttributesSchema,
|
|
13671
13719
|
z80.looseObject({ tags: customerTagsSchema.optional() })
|
|
13672
13720
|
).refine(
|
|
13673
|
-
(value) => ![
|
|
13674
|
-
|
|
13675
|
-
|
|
13676
|
-
"createdAt",
|
|
13677
|
-
"ageDays",
|
|
13678
|
-
"subscription",
|
|
13679
|
-
"parameters",
|
|
13680
|
-
"answers",
|
|
13681
|
-
"results"
|
|
13682
|
-
].some((key6) => Object.hasOwn(value, key6)),
|
|
13721
|
+
(value) => ![...customerIdentityAttributes, "parameters", "answers", "results"].some(
|
|
13722
|
+
(key6) => Object.hasOwn(value, key6)
|
|
13723
|
+
),
|
|
13683
13724
|
"Reserved customer attribute"
|
|
13684
13725
|
);
|
|
13685
13726
|
var name = z80.string().trim().max(80);
|