relayax-cli 0.3.62 → 0.3.64

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.
@@ -709,21 +709,13 @@ function registerPublish(program) {
709
709
  console.log(index_js_1.GUIDE_INSTRUCTION);
710
710
  console.log(guideUrl);
711
711
  console.log('```');
712
- console.log(`\n \x1b[90m이미 relay를 쓰는 사용자는 이렇게만 하면 됩니다:\x1b[0m\n`);
712
+ const installCmd = accessCode
713
+ ? `/relay-install ${result.slug} --code ${accessCode}`
714
+ : `/relay-install ${result.slug}`;
715
+ console.log(`\n \x1b[90mrelay CLI 사용자용:\x1b[0m\n`);
713
716
  console.log('```');
714
- console.log(`/relay-install ${result.slug}`);
717
+ console.log(installCmd);
715
718
  console.log('```');
716
- if (config.visibility === 'private') {
717
- console.log(`\n \x1b[90mprivate 에이전트:\x1b[0m`);
718
- console.log(` 접근 링크를 생성한 뒤 guide.md?code={agent_code}로 공유하세요.`);
719
- console.log(` 접근 링크 관리: \x1b[36mrelayax.com/dashboard/agent-access/${config.slug}\x1b[0m`);
720
- }
721
- else if (config.visibility !== 'internal') {
722
- console.log(`\n \x1b[90m유료 판매하려면:\x1b[0m`);
723
- console.log(` 1. 가시성을 "private"로 변경: \x1b[36mrelayax.com/dashboard\x1b[0m`);
724
- console.log(` 2. API 키 발급: \x1b[36mrelayax.com/dashboard/keys\x1b[0m`);
725
- console.log(` 3. 웹훅 연동 가이드: \x1b[36mrelayax.com/docs/webhook-guide.md\x1b[0m`);
726
- }
727
719
  console.log(`\n \x1b[90m상세페이지: \x1b[36mrelayax.com/@${detailSlug}\x1b[0m`);
728
720
  }
729
721
  }
package/dist/lib/api.js CHANGED
@@ -24,7 +24,11 @@ async function fetchMyOrgs() {
24
24
  async function fetchAgentInfo(slug) {
25
25
  const registrySlug = slug.startsWith('@') ? slug.slice(1) : slug;
26
26
  const url = `${config_js_1.API_URL}/api/registry/${registrySlug}`;
27
- const res = await fetch(url);
27
+ const token = await (0, config_js_1.getValidToken)();
28
+ const headers = {};
29
+ if (token)
30
+ headers['Authorization'] = `Bearer ${token}`;
31
+ const res = await fetch(url, { headers });
28
32
  if (!res.ok) {
29
33
  const body = await res.text();
30
34
  throw new Error(`에이전트 정보 조회 실패 (${res.status}): ${body}`);
@@ -36,7 +40,11 @@ async function searchAgents(query, tag) {
36
40
  if (tag)
37
41
  params.set('tag', tag);
38
42
  const url = `${config_js_1.API_URL}/api/registry/search?${params.toString()}`;
39
- const res = await fetch(url);
43
+ const token = await (0, config_js_1.getValidToken)();
44
+ const headers = {};
45
+ if (token)
46
+ headers['Authorization'] = `Bearer ${token}`;
47
+ const res = await fetch(url, { headers });
40
48
  if (!res.ok) {
41
49
  const body = await res.text();
42
50
  throw new Error(`검색 실패 (${res.status}): ${body}`);
@@ -47,7 +55,11 @@ async function searchAgents(query, tag) {
47
55
  async function fetchAgentVersions(slug) {
48
56
  const registrySlug = slug.startsWith('@') ? slug.slice(1) : slug;
49
57
  const url = `${config_js_1.API_URL}/api/registry/${registrySlug}/versions`;
50
- const res = await fetch(url);
58
+ const token = await (0, config_js_1.getValidToken)();
59
+ const headers = {};
60
+ if (token)
61
+ headers['Authorization'] = `Bearer ${token}`;
62
+ const res = await fetch(url, { headers });
51
63
  if (!res.ok) {
52
64
  const body = await res.text();
53
65
  throw new Error(`버전 목록 조회 실패 (${res.status}): ${body}`);
@@ -81,7 +93,11 @@ async function reportInstall(agentId, slug, version) {
81
93
  }
82
94
  async function resolveSlugFromServer(name) {
83
95
  const url = `${config_js_1.API_URL}/api/registry/resolve?name=${encodeURIComponent(name)}`;
84
- const res = await fetch(url, { signal: AbortSignal.timeout(5000) });
96
+ const token = await (0, config_js_1.getValidToken)();
97
+ const headers = {};
98
+ if (token)
99
+ headers['Authorization'] = `Bearer ${token}`;
100
+ const res = await fetch(url, { headers, signal: AbortSignal.timeout(5000) });
85
101
  if (!res.ok) {
86
102
  throw new Error(`slug resolve 실패 (${res.status})`);
87
103
  }
@@ -10,13 +10,13 @@ Organization이 없으면 새로 생성합니다:
10
10
  relay orgs create "조직 이름"
11
11
  ```
12
12
 
13
- 생성 후 접근 코드를 만들어 멤버를 초대할 수 있습니다:
13
+ 생성 후 접근 코드를 만들어 사용자를 초대할 수 있습니다:
14
14
 
15
15
  ```bash
16
16
  relay grant create --org <org-slug>
17
17
  ```
18
18
 
19
- 접근 코드를 받은 멤버는 아래 명령으로 Organization에 가입합니다:
19
+ 접근 코드를 받은 사용자는 아래 명령으로 Organization에 가입합니다:
20
20
 
21
21
  ```bash
22
22
  relay grant use --code <접근코드>
@@ -484,7 +484,9 @@ https://relayax.com/api/registry/{owner}/{slug}/guide.md
484
484
  - **private (personal)**: agent 접근 코드 사용. 코드를 사용하면 **이 에이전트에만** 접근 가능.
485
485
  - `{owner}`과 `{slug}`는 배포된 에이전트의 실제 슬러그에서 추출합니다 (`@owner/slug` → `owner`, `slug`).
486
486
  - "이 블록을 동료에게 공유하면 AI 에이전트가 환경 체크부터 설치까지 자동으로 해줍니다"라고 안내합니다.
487
- - CLI가 이미 설치된 사용자를 위한 짧은 버전도 코드 블록으로 함께 표시: `/relay-install <slug>`
487
+ - relay CLI가 이미 설치된 사용자를 위한 짧은 버전도 코드 블록으로 함께 표시합니다:
488
+ - access_code가 있으면: `/relay-install <slug> --code <access_code>`
489
+ - access_code가 없으면: `/relay-install <slug>`
488
490
 
489
491
  ## 예시
490
492
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "relayax-cli",
3
- "version": "0.3.62",
3
+ "version": "0.3.64",
4
4
  "description": "RelayAX Agent Team Marketplace CLI - Install and manage agent teams",
5
5
  "main": "dist/index.js",
6
6
  "bin": {