xytara 2.9.0 → 2.11.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/RELEASE_NOTES.md +7 -71
- package/START_HERE.md +1 -1
- package/bin/xytara-first-run.js +2 -2
- package/bin/xytara.js +1 -1
- package/lib/release_history.js +25 -1
- package/package.json +1 -1
- package/scripts/verify_release_candidate.js +25 -0
package/RELEASE_NOTES.md
CHANGED
|
@@ -1,75 +1,11 @@
|
|
|
1
|
-
# xytara 2.
|
|
1
|
+
# xytara 2.11.0 Release Notes
|
|
2
2
|
|
|
3
|
-
`xytara` 2.
|
|
3
|
+
`xytara` 2.11.0 is the lowercase-brand-convention line for aligned npm, GitHub, website, code, documentation, and public-copy surfaces.
|
|
4
4
|
|
|
5
5
|
Highlights:
|
|
6
6
|
|
|
7
|
-
-
|
|
8
|
-
-
|
|
9
|
-
-
|
|
10
|
-
- keeps the
|
|
11
|
-
-
|
|
12
|
-
|
|
13
|
-
# xytara 2.8.0 Release Notes
|
|
14
|
-
|
|
15
|
-
`xytara` 2.8.0 is the release-boundary hardening line for live-provider promotion discipline, treasury/operator public-claim safety, and pricing experiment guardrails.
|
|
16
|
-
|
|
17
|
-
Highlights:
|
|
18
|
-
|
|
19
|
-
- adds framework-provider promotion evidence gates so LangGraph/LangChain style claims stay reference-contract until endpoint, auth, health, latency, failure, and proof-fact evidence exists
|
|
20
|
-
- hardens pricing experiment planning and launch gates so optimization remains sample-maturity and operator-review gated
|
|
21
|
-
- hardens treasury public claim boundaries so public surfaces do not leak landing/custody/provider refs or promote readiness-only/internal rails as live
|
|
22
|
-
- hardens operator observability boundaries so read-only views cannot drift into mutation, settlement submission, fund movement, unsafe attention actions, or secret-bearing control behavior
|
|
23
|
-
- keeps the 2.7.0 clean-consumer packaging and release-smoke posture intact while making expansion claims more defensible
|
|
24
|
-
|
|
25
|
-
# xytara 2.7.0 Release Notes
|
|
26
|
-
|
|
27
|
-
`xytara` 2.7.0 is the expansion-closeout release line for package-hardening, clean-consumer release smoke testing, and disciplined adapter/product claim boundaries.
|
|
28
|
-
|
|
29
|
-
Highlights:
|
|
30
|
-
|
|
31
|
-
- ships `scripts/` in the npm artifact so packaged verification commands are available to consumers
|
|
32
|
-
- adds release-candidate guards that fail if required verifier scripts are missing from `npm pack`
|
|
33
|
-
- participates in the Naxytra release-smoke harness that installs packed tarballs into a clean consumer project before synchronized release
|
|
34
|
-
- keeps the 2.6.0 expansion capabilities and adapter surfaces intact while closing the packaging reliability gap
|
|
35
|
-
|
|
36
|
-
# xytara 2.6.0 Release Notes
|
|
37
|
-
|
|
38
|
-
`xytara` 2.6.0 is the expansion release line for first-run execution polish, provider-backed adapter depth, and framework reference adapters while preserving the existing machine-commerce, settlement, observability, and release surfaces.
|
|
39
|
-
|
|
40
|
-
Highlights:
|
|
41
|
-
|
|
42
|
-
- umbrella CLI entrypoint with `xytara start-here`, plus `xytara run` and `xytara release`
|
|
43
|
-
- public first-run quote and credits-first execution posture for outside builders
|
|
44
|
-
- provider-backed `adapter.mcp.invoke` depth with concrete MCP tool binding
|
|
45
|
-
- executable LangGraph and LangChain reference framework adapters with manifests and proof-compatible execution facts
|
|
46
|
-
- adapter verifier coverage for provider and framework execution posture
|
|
47
|
-
- read-only operator observability across activity, payment, delivery, settlement, external credit grants, adapter failures, and pricing telemetry
|
|
48
|
-
- first-class public contract lanes for `OpenAPI`, `AsyncAPI`, and `CloudEvents`
|
|
49
|
-
- first-class provider, framework, protocol, and integration-matrix discovery surfaces
|
|
50
|
-
- surfaced runtime breadth across `MCP`, `A2A`, `A2C`, `x402`, `Stripe MPP`, stablecoins, major rails, treasury, and registry-backed integrations
|
|
51
|
-
- surfaced framework and ecosystem breadth including `LangGraph`, `LangChain`, `AutoGen`, `Semantic Kernel`, `CrewAI`, and `LlamaIndex`
|
|
52
|
-
- surfaced protocol and transport breadth including `ACP`, `gRPC`, `Kafka`, `NATS`, `MQTT`, `ROS2`, and webhook event bus posture
|
|
53
|
-
- first-class observability, provenance, artifact-distribution, shared-signals, and feature-control lanes
|
|
54
|
-
- clearer install-and-use posture for humans, developers, and agents without widening the native runtime core
|
|
55
|
-
- existing wallet / authority / identity / trust / capability / pricing / participation foundations remain in place
|
|
56
|
-
|
|
57
|
-
Recommended first checks:
|
|
58
|
-
|
|
59
|
-
1. `npm install xytara`
|
|
60
|
-
2. `xytara start-here`
|
|
61
|
-
3. `npm run verify:release-candidate`
|
|
62
|
-
4. `node examples/partner_launch_walkthrough.js`
|
|
63
|
-
5. inspect `/v1/providers`, `/v1/frameworks`, `/v1/protocols`, and `/v1/integration-matrix`
|
|
64
|
-
6. inspect `/v1/adapter-depth/summary` and `/v1/operator-observability/summary`
|
|
65
|
-
7. inspect `/v1/mcp`, `/v1/a2a`, `/v1/a2c`, `/v1/x402`, and `/v1/settlement`
|
|
66
|
-
8. inspect `/v1/telemetry`, `/v1/provenance`, `/v1/artifact-distribution`, `/v1/shared-signals`, and `/v1/feature-control`
|
|
67
|
-
9. inspect `/v1/economics/accounts/:account_id/wallet-ledger-bundle`
|
|
68
|
-
10. inspect `/v1/economics/accounts/:account_id/network-participation-package`
|
|
69
|
-
|
|
70
|
-
Recommended first docs:
|
|
71
|
-
|
|
72
|
-
- `PROGRAM_COMPLETE_RELEASE.md`
|
|
73
|
-
- `FINAL_CONTRACT.md`
|
|
74
|
-
- `WHY_XYTARA_XOONYA.md`
|
|
75
|
-
- `PARTNER_READY_PATH.md`
|
|
7
|
+
- normalizes visible `xytara`, `xoonya`, and `naxytra` product references to the lowercase convention across package docs, CLI copy, release history, and public-facing strings
|
|
8
|
+
- preserves the quote-first first-run path, adapter-depth boundaries, pricing guardrails, treasury public-claim safety, and read-only operator observability boundaries
|
|
9
|
+
- keeps `RELEASE_NOTES.md` scoped to the current release so npm and GitHub release notes stay clean
|
|
10
|
+
- keeps the canonical `https://naxytra.com/xytara` public product URL and synchronized naxytra release posture intact
|
|
11
|
+
- verifies the lowercase convention through the release candidate, full package verifier, umbrella pre-deploy gates, and clean-consumer release smoke
|
package/START_HERE.md
CHANGED
|
@@ -40,7 +40,7 @@ xytara first-run --run-quote --account ACCOUNT_REF --pretty
|
|
|
40
40
|
The underlying command is:
|
|
41
41
|
|
|
42
42
|
```bash
|
|
43
|
-
xytara-run --url https://xytara.onrender.com --account ACCOUNT_REF --task adapter.mcp.invoke --command mcp.invoke:summarize --body-json "{\"tool_name\":\"summarize\",\"arguments\":{\"text\":\"Summarize the
|
|
43
|
+
xytara-run --url https://xytara.onrender.com --account ACCOUNT_REF --task adapter.mcp.invoke --command mcp.invoke:summarize --body-json "{\"tool_name\":\"summarize\",\"arguments\":{\"text\":\"Summarize the naxytra first-run path in one sentence.\"}}" --quote-only --pretty
|
|
44
44
|
```
|
|
45
45
|
|
|
46
46
|
Then execute with direct signed payment or a credits-first funded account:
|
package/bin/xytara-first-run.js
CHANGED
|
@@ -6,7 +6,7 @@ const { spawnSync } = require("child_process");
|
|
|
6
6
|
|
|
7
7
|
const DEFAULT_SERVICE_URL = "https://xytara.onrender.com";
|
|
8
8
|
const DEFAULT_KIT_URL = "https://www.naxytra.com/v1/first-run-kit";
|
|
9
|
-
const DEFAULT_TEXT = "Summarize the
|
|
9
|
+
const DEFAULT_TEXT = "Summarize the naxytra first-run path in one sentence.";
|
|
10
10
|
const ACCOUNT_PLACEHOLDER = "ACCOUNT_REF";
|
|
11
11
|
|
|
12
12
|
function buildDefaultMcpBody(text) {
|
|
@@ -126,7 +126,7 @@ function printUsage() {
|
|
|
126
126
|
" --run-quote Execute the safe quote-only path",
|
|
127
127
|
" --execute-with-credits Execute the default task with account credits",
|
|
128
128
|
" --account ACCOUNT_REF Account ref for quote or credits-first execution",
|
|
129
|
-
` --url <service_url>
|
|
129
|
+
` --url <service_url> xytara service URL, default ${DEFAULT_SERVICE_URL}`,
|
|
130
130
|
" --text <text> Text for the default summarize task",
|
|
131
131
|
" --pretty Pretty-print JSON output",
|
|
132
132
|
" --help Show this help message"
|
package/bin/xytara.js
CHANGED
|
@@ -40,7 +40,7 @@ function printStartHere() {
|
|
|
40
40
|
"1. Open https://www.naxytra.com/v1/first-run-path",
|
|
41
41
|
"2. Open https://www.naxytra.com/v1/first-run-kit for copyable commands.",
|
|
42
42
|
"3. Quote safely first:",
|
|
43
|
-
" xytara-run --url https://xytara.onrender.com --account ACCOUNT_REF --task adapter.mcp.invoke --command mcp.invoke:summarize --body-json \"{\\\"tool_name\\\":\\\"summarize\\\",\\\"arguments\\\":{\\\"text\\\":\\\"Summarize the
|
|
43
|
+
" xytara-run --url https://xytara.onrender.com --account ACCOUNT_REF --task adapter.mcp.invoke --command mcp.invoke:summarize --body-json \"{\\\"tool_name\\\":\\\"summarize\\\",\\\"arguments\\\":{\\\"text\\\":\\\"Summarize the naxytra first-run path in one sentence.\\\"}}\" --quote-only --pretty",
|
|
44
44
|
"4. Execute with direct signed payment or credits-first on a funded account.",
|
|
45
45
|
"5. Hand the result into xoonya for proof review and verification.",
|
|
46
46
|
"",
|
package/lib/release_history.js
CHANGED
|
@@ -10,11 +10,35 @@ function buildReleaseHistory() {
|
|
|
10
10
|
current_version: packageJson.version,
|
|
11
11
|
release_track: "public_release",
|
|
12
12
|
history: [
|
|
13
|
+
{
|
|
14
|
+
version: "2.11.0",
|
|
15
|
+
channel: "public_release",
|
|
16
|
+
maturity_posture: "brand_convention_aligned",
|
|
17
|
+
headline: "lowercase-brand-convention release aligning npm, GitHub, website, code, documentation, and public-copy surfaces",
|
|
18
|
+
milestone_refs: [
|
|
19
|
+
"lowercase_product_name_convention",
|
|
20
|
+
"public_copy_brand_alignment",
|
|
21
|
+
"cli_and_release_surface_alignment",
|
|
22
|
+
"synchronized_2_11_release_prep"
|
|
23
|
+
]
|
|
24
|
+
},
|
|
25
|
+
{
|
|
26
|
+
version: "2.10.0",
|
|
27
|
+
channel: "public_release",
|
|
28
|
+
maturity_posture: "release_hygiene",
|
|
29
|
+
headline: "release-hygiene line with current-release-only notes, package verifier guards, and safer first-contact soft-launch guidance",
|
|
30
|
+
milestone_refs: [
|
|
31
|
+
"current_release_only_release_notes",
|
|
32
|
+
"release_notes_packaging_guard",
|
|
33
|
+
"soft_launch_quote_first_guidance",
|
|
34
|
+
"synchronized_2_10_release_prep"
|
|
35
|
+
]
|
|
36
|
+
},
|
|
13
37
|
{
|
|
14
38
|
version: "2.9.0",
|
|
15
39
|
channel: "public_release",
|
|
16
40
|
maturity_posture: "public_polish",
|
|
17
|
-
headline: "public-polish release with canonical
|
|
41
|
+
headline: "public-polish release with canonical naxytra product URLs and safer quote-first runtime first contact",
|
|
18
42
|
milestone_refs: [
|
|
19
43
|
"canonical_naxytra_product_url",
|
|
20
44
|
"standalone_product_domain_guard",
|
package/package.json
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
const assert = require("assert");
|
|
4
|
+
const fs = require("fs");
|
|
4
5
|
const path = require("path");
|
|
5
6
|
const { execFileSync, execSync } = require("child_process");
|
|
6
7
|
const packageJson = require("../package.json");
|
|
@@ -14,6 +15,29 @@ function parsePackDryRun() {
|
|
|
14
15
|
return Array.isArray(parsed) ? parsed[0] : parsed;
|
|
15
16
|
}
|
|
16
17
|
|
|
18
|
+
function verifyReleaseNotes() {
|
|
19
|
+
const notesPath = path.resolve(__dirname, "..", "RELEASE_NOTES.md");
|
|
20
|
+
const notes = fs.readFileSync(notesPath, "utf8");
|
|
21
|
+
const headings = (notes.match(/^#\s+xytara\s+\d+\.\d+\.\d+\s+Release Notes\s*$/gm) || [])
|
|
22
|
+
.map((heading) => heading.trim());
|
|
23
|
+
assert.deepStrictEqual(
|
|
24
|
+
headings,
|
|
25
|
+
[`# xytara ${packageJson.version} Release Notes`],
|
|
26
|
+
"RELEASE_NOTES.md must contain only the current xytara release heading"
|
|
27
|
+
);
|
|
28
|
+
assert.strictEqual(
|
|
29
|
+
notes.includes(`xytara\` ${packageJson.version}`),
|
|
30
|
+
true,
|
|
31
|
+
"RELEASE_NOTES.md must mention the current package version"
|
|
32
|
+
);
|
|
33
|
+
const mentionedVersions = notes.match(/\b\d+\.\d+\.\d+\b/g) || [];
|
|
34
|
+
assert.strictEqual(
|
|
35
|
+
mentionedVersions.every((version) => version === packageJson.version),
|
|
36
|
+
true,
|
|
37
|
+
"RELEASE_NOTES.md must not mention prior package versions"
|
|
38
|
+
);
|
|
39
|
+
}
|
|
40
|
+
|
|
17
41
|
function main() {
|
|
18
42
|
const releaseOutput = execFileSync(process.execPath, [
|
|
19
43
|
path.resolve(__dirname, "..", "bin", "xytara-release.js"),
|
|
@@ -27,6 +51,7 @@ function main() {
|
|
|
27
51
|
assert.strictEqual(releaseCandidate.product, "xytara", "release candidate product mismatch");
|
|
28
52
|
assert.strictEqual(releaseCandidate.publish_access, "public", "release candidate publish access mismatch");
|
|
29
53
|
assert.strictEqual(releaseCandidate.checklist_count >= 5, true, "release candidate checklist count mismatch");
|
|
54
|
+
verifyReleaseNotes();
|
|
30
55
|
|
|
31
56
|
const dryRun = parsePackDryRun();
|
|
32
57
|
assert.strictEqual(dryRun.name, packageJson.name, "npm pack dry-run name mismatch");
|