epismo 0.1.3 → 0.1.4

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/README.md CHANGED
@@ -31,11 +31,11 @@ npx epismo <command>
31
31
  ## Authentication
32
32
 
33
33
  ```bash
34
- epismo login # OTP (prompts for email + code)
35
- epismo login --email you@example.com --otp 123456 # inline values
36
- epismo login --browser # OAuth via browser
37
- epismo logout # clear local credentials
38
- EPISMO_TOKEN=<access-token> epismo whoami # preferred for scripts
34
+ epismo login # OTP (prompts for email + code)
35
+ epismo login --email you@example.com --otp 123456 # inline values
36
+ epismo login --browser # OAuth via browser
37
+ epismo logout # clear local credentials
38
+ EPISMO_TOKEN=<access-token> epismo whoami # preferred for scripts
39
39
  ```
40
40
 
41
41
  If `EPISMO_TOKEN` is set, the CLI uses it instead of stored credentials.
@@ -51,23 +51,23 @@ Show the current user, effective workspace context, and accessible workspaces.
51
51
  ### `epismo workspace`
52
52
 
53
53
  ```bash
54
- epismo workspace list # list accessible workspaces
55
- epismo workspace current # show saved default from local config only
56
- epismo workspace use --workspace-id <workspace-id> # set default workspace
57
- epismo workspace clear # clear default workspace
54
+ epismo workspace list # list accessible workspaces
55
+ epismo workspace current # show saved default from local config only
56
+ epismo workspace use --workspace-id <workspace-id> # set default workspace
57
+ epismo workspace clear # clear default workspace
58
58
  ```
59
59
 
60
60
  ### `epismo track`
61
61
 
62
- Manage tasks, notes, and goals.
62
+ Manage tasks and goals.
63
63
 
64
64
  ```bash
65
65
  epismo track upsert --type task --title "Fix bug" --content "Details..."
66
66
  epismo track upsert --input @task.json
67
- epismo track get --type task --id <id>
67
+ epismo track get --id <id>
68
68
  epismo track search --type task --query "bug" --filter '{"status":["todo"]}'
69
69
  epismo track search --type task --query "bug" --view brief
70
- epismo track delete --type task --id <id>
70
+ epismo track delete --id <id>
71
71
  ```
72
72
 
73
73
  ### `epismo asset`
@@ -76,13 +76,26 @@ Manage workflows and other assets.
76
76
 
77
77
  ```bash
78
78
  epismo asset upsert --type workflow --title "My workflow" --input @workflow.json
79
- epismo asset get --type workflow --id <id>
79
+ epismo asset get --id <id>
80
+ epismo asset get --alias myproject
81
+ epismo asset get --alias @epismo/myproject
80
82
  epismo asset search --type workflow --query "onboarding" --filter '{"visibility":["public"]}'
81
83
  epismo asset search --type workflow --query "onboarding" --view brief
82
- epismo asset like --type workflow --id <id> --liked
83
- epismo asset like --type workflow --id <id> --no-liked
84
- epismo asset import --project-id <project-id> --asset-ids <id1>,<id2>
85
- epismo asset delete --type workflow --id <id>
84
+ epismo asset like --id <id> --liked
85
+ epismo asset like --id <id> --no-liked
86
+ epismo asset delete --id <id> # also removes your aliases for that asset
87
+ ```
88
+
89
+ ### `epismo alias`
90
+
91
+ Manage aliases as a top-level resource.
92
+
93
+ ```bash
94
+ epismo alias upsert --type workflow --id <id> --alias myproject
95
+ epismo alias get --alias myproject
96
+ epismo alias get --alias @epismo/myproject # another user's alias
97
+ epismo alias list
98
+ epismo alias delete --alias myproject
86
99
  ```
87
100
 
88
101
  ### `epismo credit`
@@ -122,11 +135,13 @@ Browse skills: https://github.com/epismoai/skills
122
135
  - Prompts and browser-login guidance are also written to `stderr`.
123
136
 
124
137
  **Error shape** (`stderr`, exit code ≠ 0):
138
+
125
139
  ```json
126
140
  { "error": { "code": "NOT_FOUND", "message": "...", "retryable": false, "hint": "..." } }
127
141
  ```
128
142
 
129
143
  **Warning shape** (`stderr`, exit code 0):
144
+
130
145
  ```json
131
146
  { "warning": { "code": "UPDATE_AVAILABLE", "message": "..." } }
132
147
  ```
@@ -0,0 +1,31 @@
1
+ import { requestJson, withWorkspaceQuery } from "./api.js";
2
+ import { resolveApiUrl } from "./config.js";
3
+ import { readRequiredString, toObjectInput } from "./input.js";
4
+ export async function upsertAlias(context, input) {
5
+ return requestJson(resolveApiUrl(), withWorkspaceQuery("/v1/aliases", context.workspaceId), {
6
+ method: "PUT",
7
+ authToken: context.auth.accessToken,
8
+ body: toObjectInput(input)
9
+ });
10
+ }
11
+ export async function getAlias(context, input) {
12
+ const alias = readRequiredString(input, "alias", "Pass --alias <alias>.");
13
+ const params = new URLSearchParams();
14
+ params.set("alias", alias);
15
+ return requestJson(resolveApiUrl(), withWorkspaceQuery(`/v1/aliases?${params.toString()}`, context.workspaceId), {
16
+ authToken: context.auth.accessToken
17
+ });
18
+ }
19
+ export async function listAliases(context) {
20
+ return requestJson(resolveApiUrl(), withWorkspaceQuery("/v1/aliases", context.workspaceId), {
21
+ authToken: context.auth.accessToken
22
+ });
23
+ }
24
+ export async function deleteAlias(context, input) {
25
+ const alias = readRequiredString(input, "alias", "Pass --alias <alias>.");
26
+ return requestJson(resolveApiUrl(), withWorkspaceQuery(`/v1/aliases/${encodeURIComponent(alias)}`, context.workspaceId), {
27
+ method: "DELETE",
28
+ authToken: context.auth.accessToken
29
+ });
30
+ }
31
+ //# sourceMappingURL=aliases.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"aliases.js","sourceRoot":"","sources":["../src/aliases.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAC;AAC3D,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAE5C,OAAO,EAAE,kBAAkB,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAE/D,MAAM,CAAC,KAAK,UAAU,WAAW,CAChC,OAAyB,EACzB,KAAc;IAEd,OAAO,WAAW,CACjB,aAAa,EAAE,EACf,kBAAkB,CAAC,aAAa,EAAE,OAAO,CAAC,WAAW,CAAC,EACtD;QACC,MAAM,EAAE,KAAK;QACb,SAAS,EAAE,OAAO,CAAC,IAAI,CAAC,WAAW;QACnC,IAAI,EAAE,aAAa,CAAC,KAAK,CAAC;KAC1B,CACD,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,QAAQ,CAC7B,OAAyB,EACzB,KAAc;IAEd,MAAM,KAAK,GAAG,kBAAkB,CAAC,KAAK,EAAE,OAAO,EAAE,uBAAuB,CAAC,CAAC;IAC1E,MAAM,MAAM,GAAG,IAAI,eAAe,EAAE,CAAC;IACrC,MAAM,CAAC,GAAG,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;IAC3B,OAAO,WAAW,CACjB,aAAa,EAAE,EACf,kBAAkB,CAAC,eAAe,MAAM,CAAC,QAAQ,EAAE,EAAE,EAAE,OAAO,CAAC,WAAW,CAAC,EAC3E;QACC,SAAS,EAAE,OAAO,CAAC,IAAI,CAAC,WAAW;KACnC,CACD,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,WAAW,CAAC,OAAyB;IAC1D,OAAO,WAAW,CACjB,aAAa,EAAE,EACf,kBAAkB,CAAC,aAAa,EAAE,OAAO,CAAC,WAAW,CAAC,EACtD;QACC,SAAS,EAAE,OAAO,CAAC,IAAI,CAAC,WAAW;KACnC,CACD,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,WAAW,CAChC,OAAyB,EACzB,KAAc;IAEd,MAAM,KAAK,GAAG,kBAAkB,CAAC,KAAK,EAAE,OAAO,EAAE,uBAAuB,CAAC,CAAC;IAC1E,OAAO,WAAW,CACjB,aAAa,EAAE,EACf,kBAAkB,CAAC,eAAe,kBAAkB,CAAC,KAAK,CAAC,EAAE,EAAE,OAAO,CAAC,WAAW,CAAC,EACnF;QACC,MAAM,EAAE,QAAQ;QAChB,SAAS,EAAE,OAAO,CAAC,IAAI,CAAC,WAAW;KACnC,CACD,CAAC;AACH,CAAC"}
package/dist/api.js CHANGED
@@ -4,7 +4,8 @@ export function withWorkspaceQuery(pathname, workspaceId) {
4
4
  return pathname;
5
5
  }
6
6
  const params = new URLSearchParams({ workspaceId: workspaceId.trim() });
7
- return `${pathname}?${params.toString()}`;
7
+ const separator = pathname.includes("?") ? "&" : "?";
8
+ return `${pathname}${separator}${params.toString()}`;
8
9
  }
9
10
  export async function requestJson(apiUrl, pathname, options = {}) {
10
11
  const headers = {};
package/dist/api.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"api.js","sourceRoot":"","sources":["../src/api.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"api.js","sourceRoot":"","sources":["../src/api.ts"],"names":[],"mappings":"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"}
package/dist/assets.js CHANGED
@@ -1,27 +1,7 @@
1
1
  import { requestJson, withWorkspaceQuery } from "./api.js";
2
2
  import { resolveApiUrl } from "./config.js";
3
3
  import { CliError } from "./errors.js";
4
- import { readRequiredString, readTypeAndId, toObjectInput } from "./input.js";
5
- function readAssetIds(input) {
6
- const payload = toObjectInput(input);
7
- const rawAssetIds = payload.assetIds;
8
- if (!Array.isArray(rawAssetIds) || rawAssetIds.length === 0) {
9
- throw new CliError({
10
- code: "INVALID_INPUT",
11
- message: '"assetIds" is required and must be a non-empty array.',
12
- hint: 'Use --asset-ids <id1>,<id2> or pass JSON e.g. --input \'{"assetIds":["id1","id2"]}\'.'
13
- });
14
- }
15
- return rawAssetIds.map((assetId, index) => {
16
- if (typeof assetId !== "string" || !assetId.trim()) {
17
- throw new CliError({
18
- code: "INVALID_INPUT",
19
- message: `assetIds[${index}] must be a non-empty string.`
20
- });
21
- }
22
- return assetId.trim();
23
- });
24
- }
4
+ import { readAssetReference, readRequiredId, toObjectInput } from "./input.js";
25
5
  export async function upsertAsset(context, input) {
26
6
  return requestJson(resolveApiUrl(), withWorkspaceQuery("/v1/assets", context.workspaceId), {
27
7
  method: "PUT",
@@ -29,11 +9,37 @@ export async function upsertAsset(context, input) {
29
9
  body: toObjectInput(input)
30
10
  });
31
11
  }
32
- export async function getAsset(context, input) {
33
- const { type, id } = readTypeAndId(input, "Pass --type workflow.");
34
- return requestJson(resolveApiUrl(), withWorkspaceQuery(`/v1/assets/${encodeURIComponent(type)}/${encodeURIComponent(id)}`, context.workspaceId), {
12
+ export async function getAsset(context, input, blockId) {
13
+ const { id, alias } = readAssetReference(input);
14
+ const requestPath = id !== undefined
15
+ ? withWorkspaceQuery(`/v1/assets/${encodeURIComponent(id)}`, context.workspaceId)
16
+ : withWorkspaceQuery(`/v1/assets?alias=${encodeURIComponent(alias ?? "")}`, context.workspaceId);
17
+ const response = await requestJson(resolveApiUrl(), requestPath, {
35
18
  authToken: context.auth.accessToken
36
19
  });
20
+ const asset = response.asset && typeof response.asset === "object" && !Array.isArray(response.asset)
21
+ ? response.asset
22
+ : response;
23
+ if (blockId !== undefined) {
24
+ const blocks = asset["blocks"];
25
+ if (!Array.isArray(blocks)) {
26
+ throw new CliError({
27
+ code: "INVALID_INPUT",
28
+ message: "Asset does not contain context blocks (--block-id requires type=context)."
29
+ });
30
+ }
31
+ const block = blocks.find((n) => typeof n === "object" &&
32
+ n !== null &&
33
+ n["id"] === blockId);
34
+ if (block === undefined) {
35
+ throw new CliError({
36
+ code: "NOT_FOUND",
37
+ message: `Context block '${blockId}' not found in context asset '${id ?? alias}'.`
38
+ });
39
+ }
40
+ return block;
41
+ }
42
+ return asset;
37
43
  }
38
44
  export async function searchAssets(context, input) {
39
45
  return requestJson(resolveApiUrl(), withWorkspaceQuery("/v1/assets/search", context.workspaceId), {
@@ -43,29 +49,19 @@ export async function searchAssets(context, input) {
43
49
  });
44
50
  }
45
51
  export async function likeAsset(context, input) {
46
- const { type, id } = readTypeAndId(input, "Pass --type workflow.");
52
+ const id = readRequiredId(input);
47
53
  return requestJson(resolveApiUrl(), withWorkspaceQuery("/v1/assets/like", context.workspaceId), {
48
54
  method: "POST",
49
55
  authToken: context.auth.accessToken,
50
56
  body: {
51
57
  ...toObjectInput(input),
52
- type,
53
58
  id
54
59
  }
55
60
  });
56
61
  }
57
- export async function importAssets(context, input) {
58
- const projectId = readRequiredString(input, "projectId", "Pass --project-id <id>.");
59
- const assetIds = readAssetIds(input);
60
- return requestJson(resolveApiUrl(), withWorkspaceQuery("/v1/assets/import", context.workspaceId), {
61
- method: "POST",
62
- authToken: context.auth.accessToken,
63
- body: { projectId, assetIds }
64
- });
65
- }
66
62
  export async function deleteAsset(context, input) {
67
- const { type, id } = readTypeAndId(input, "Pass --type workflow.");
68
- return requestJson(resolveApiUrl(), withWorkspaceQuery(`/v1/assets/${encodeURIComponent(type)}/${encodeURIComponent(id)}`, context.workspaceId), {
63
+ const id = readRequiredId(input);
64
+ return requestJson(resolveApiUrl(), withWorkspaceQuery(`/v1/assets/${encodeURIComponent(id)}`, context.workspaceId), {
69
65
  method: "DELETE",
70
66
  authToken: context.auth.accessToken
71
67
  });
@@ -1 +1 @@
1
- {"version":3,"file":"assets.js","sourceRoot":"","sources":["../src/assets.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"assets.js","sourceRoot":"","sources":["../src/assets.ts"],"names":[],"mappings":"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"}
package/dist/input.js CHANGED
@@ -55,7 +55,7 @@ export async function readJsonObjectInput(input) {
55
55
  throw new CliError({
56
56
  code: "INVALID_INPUT",
57
57
  message: "Invalid JSON for --input: object expected.",
58
- hint: "Pass a JSON object like '{\"key\":\"value\"}'."
58
+ hint: 'Pass a JSON object like \'{"key":"value"}\'.'
59
59
  });
60
60
  }
61
61
  return parsed;
@@ -128,7 +128,7 @@ export function parseStringArrayInput(value, label) {
128
128
  return [];
129
129
  }
130
130
  if (trimmed.startsWith("[")) {
131
- return parseJsonArrayOption(trimmed, label)?.map((item) => String(item).trim()) ?? [];
131
+ return (parseJsonArrayOption(trimmed, label)?.map((item) => String(item).trim()) ?? []);
132
132
  }
133
133
  return trimmed
134
134
  .split(",")
@@ -170,6 +170,29 @@ export function readTypeAndId(input, typeHint) {
170
170
  const id = readRequiredString(input, "id", "Pass --id <id>.");
171
171
  return { type, id };
172
172
  }
173
+ export function readRequiredId(input, idHint = "Pass --id <id>.") {
174
+ return readRequiredString(input, "id", idHint);
175
+ }
176
+ export function readAssetReference(input) {
177
+ if (!input || typeof input !== "object") {
178
+ throw new CliError({
179
+ code: "INVALID_INPUT",
180
+ message: "Exactly one of `id` or `alias` is required.",
181
+ hint: "Pass --id <id> or --alias <alias>."
182
+ });
183
+ }
184
+ const object = input;
185
+ const id = typeof object.id === "string" && object.id.trim() ? object.id.trim() : undefined;
186
+ const alias = typeof object.alias === "string" && object.alias.trim() ? object.alias.trim() : undefined;
187
+ if ((id === undefined) === (alias === undefined)) {
188
+ throw new CliError({
189
+ code: "INVALID_INPUT",
190
+ message: "Exactly one of `id` or `alias` is required.",
191
+ hint: "Pass --id <id> or --alias <alias>."
192
+ });
193
+ }
194
+ return { id, alias };
195
+ }
173
196
  export function readRequiredString(input, key, hint) {
174
197
  if (!input || typeof input !== "object") {
175
198
  throw new CliError({
package/dist/input.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"input.js","sourceRoot":"","sources":["../src/input.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"input.js","sourceRoot":"","sources":["../src/input.ts"],"names":[],"mappings":"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"}
package/dist/program.js CHANGED
@@ -4,11 +4,12 @@ import { resolveExecutionContext } from "./context.js";
4
4
  import { mergeDefined, parseJsonArrayOption, parseJsonObjectOption, parseOptionalPositiveInteger, parseStringArrayInput, readJsonObjectInput } from "./input.js";
5
5
  import { printJson, printWarning } from "./output.js";
6
6
  import { deleteTrack, getTrack, searchTracks, upsertTrack } from "./tracks.js";
7
- import { deleteAsset, getAsset, importAssets, likeAsset, searchAssets, upsertAsset } from "./assets.js";
7
+ import { deleteAsset, getAsset, likeAsset, searchAssets, upsertAsset } from "./assets.js";
8
+ import { deleteAlias, getAlias, listAliases, upsertAlias } from "./aliases.js";
8
9
  import { creditBalance, creditCheckout } from "./credits.js";
9
10
  import { CliError } from "./errors.js";
10
- const TRACK_TYPES = ["task", "note", "goal"];
11
- const ASSET_TYPES = ["workflow"];
11
+ const TRACK_TYPES = ["task", "goal"];
12
+ const ASSET_TYPES = ["workflow", "context"];
12
13
  const SEARCH_VIEWS = ["detail", "brief"];
13
14
  const ASSET_VISIBILITIES = ["public", "private"];
14
15
  // #1: centralize --workspace-id option so description is defined once
@@ -20,10 +21,19 @@ async function resolveInput(options, overrides) {
20
21
  const base = await readJsonObjectInput(options.input);
21
22
  return mergeDefined(base, overrides);
22
23
  }
24
+ function getExplicitOptionOverride(command, optionName, value) {
25
+ const source = command.getOptionValueSource(optionName);
26
+ if (source === undefined || source === "default") {
27
+ return undefined;
28
+ }
29
+ return value;
30
+ }
23
31
  async function resolveContext(options) {
24
32
  const context = await resolveExecutionContext(options);
25
33
  if (context.warning) {
26
- printWarning({ warning: { code: WARNING_ENV_TOKEN_WORKSPACE_IGNORED, message: context.warning } });
34
+ printWarning({
35
+ warning: { code: WARNING_ENV_TOKEN_WORKSPACE_IGNORED, message: context.warning }
36
+ });
27
37
  }
28
38
  return context;
29
39
  }
@@ -49,8 +59,11 @@ Examples:
49
59
  epismo login --email you@example.com --otp 123456
50
60
  epismo whoami
51
61
  epismo workspace list
62
+ epismo alias list
52
63
  epismo track search --type task --query "bug"
53
- epismo asset import --project-id <project-id> --asset-ids <id1>,<id2>`);
64
+ epismo asset search --type context --view detail
65
+ epismo asset get --id <id> --block-id b001
66
+ epismo asset get --alias @epismo/myproject`);
54
67
  program
55
68
  .command("login")
56
69
  .description("log in to Epismo; prompts for email and OTP interactively, or use --browser for OAuth")
@@ -145,15 +158,15 @@ Example:
145
158
  const track = program.command("track").description("manage track resources");
146
159
  track
147
160
  .command("upsert")
148
- .description("create or update a task, note, or goal")
161
+ .description("create or update a task or goal")
149
162
  .option("--input <input>", "JSON object, @file, or - for stdin")
150
- .addOption(new Option("--type <type>", "task | note | goal").choices(TRACK_TYPES))
163
+ .addOption(new Option("--type <type>", "task | goal").choices(TRACK_TYPES))
151
164
  .option("--id <id>", "existing item id")
152
165
  .option("--title <title>", "title")
153
166
  .option("--content <content>", "markdown content")
154
167
  .option("--projects <projects>", "JSON array or comma-separated project ids")
155
- .option("--task <task>", 'task-specific fields as JSON object e.g. \'{"status":"todo","dueAt":"2025-12-31"}\'')
156
- .option("--goal <goal>", 'goal-specific fields as JSON object e.g. \'{"status":"active","targetDate":"2025-12-31"}\'')
168
+ .option("--task <task>", 'task-specific fields as JSON object e.g. \'{"status":"todo","dueDate":"2025-12-31"}\'')
169
+ .option("--goal <goal>", 'goal-specific fields as JSON object e.g. \'{"status":"on_track","dueDate":"2025-12-31"}\'')
157
170
  .option(WORKSPACE_ID_OPT, WORKSPACE_ID_DESC)
158
171
  .action(async (options) => {
159
172
  const payload = await resolveInput(options, {
@@ -170,22 +183,20 @@ Example:
170
183
  });
171
184
  track.commands.at(-1)?.addHelpText("after", `
172
185
  Notes:
173
- Use --task or --goal to pass type-specific fields (notes have no type-specific fields).
186
+ Use --task or --goal to pass type-specific fields.
174
187
 
175
188
  Examples:
176
189
  epismo track upsert --type task --title "Fix bug" --content "Details..."
177
190
  epismo track upsert --input @task.json
178
- epismo track upsert --type goal --title "Launch" --goal '{"status":"active"}'`);
191
+ epismo track upsert --type goal --title "Launch" --goal '{"status":"on_track"}'`);
179
192
  track
180
193
  .command("get")
181
194
  .description("fetch one track")
182
195
  .option("--input <input>", "JSON object, @file, or - for stdin")
183
- .addOption(new Option("--type <type>", "task | note | goal").choices(TRACK_TYPES))
184
196
  .option("--id <id>", "item id")
185
197
  .option(WORKSPACE_ID_OPT, WORKSPACE_ID_DESC)
186
198
  .action(async (options) => {
187
199
  const payload = await resolveInput(options, {
188
- type: options.type,
189
200
  id: options.id
190
201
  });
191
202
  const context = await resolveContext({ workspaceId: options.workspaceId });
@@ -193,26 +204,28 @@ Examples:
193
204
  });
194
205
  track.commands.at(-1)?.addHelpText("after", `
195
206
  Example:
196
- epismo track get --type task --id <id>`);
207
+ epismo track get --id <id>`);
197
208
  track
198
209
  .command("search")
199
210
  .description("search tracks")
200
211
  .option("--input <input>", "JSON object, @file, or - for stdin")
201
- .addOption(new Option("--type <type>", "task | note | goal").choices(TRACK_TYPES))
212
+ .addOption(new Option("--type <type>", "task | goal").choices(TRACK_TYPES))
202
213
  .option("--query <query>", "free-text query")
203
214
  .option("--page <page>", "1-based page number")
204
- .addOption(new Option("--view <view>", "detail (all fields) | brief (id and title only)").choices(SEARCH_VIEWS).default("detail"))
215
+ .addOption(new Option("--view <view>", "detail (all fields) | brief (id and title only)")
216
+ .choices(SEARCH_VIEWS)
217
+ .default("detail"))
205
218
  .option("--projects <projects>", "JSON array or comma-separated project ids")
206
219
  .option("--filter <filter>", 'filter as JSON object; each value is an array of accepted values e.g. \'{"status":["todo","in_progress"]}\' (use --input @file.json for complex filters)')
207
220
  .option(WORKSPACE_ID_OPT, WORKSPACE_ID_DESC)
208
- .action(async (options) => {
221
+ .action(async (options, command) => {
209
222
  const payload = await resolveInput(options, {
210
- type: options.type,
211
- query: options.query,
212
- page: parseOptionalPositiveInteger(options.page, "--page"),
213
- view: options.view,
214
- projects: parseStringArrayInput(options.projects, "--projects"),
215
- filter: parseJsonObjectOption(options.filter, "--filter")
223
+ type: getExplicitOptionOverride(command, "type", options.type),
224
+ query: getExplicitOptionOverride(command, "query", options.query),
225
+ page: getExplicitOptionOverride(command, "page", parseOptionalPositiveInteger(options.page, "--page")),
226
+ view: getExplicitOptionOverride(command, "view", options.view),
227
+ projects: getExplicitOptionOverride(command, "projects", parseStringArrayInput(options.projects, "--projects")),
228
+ filter: getExplicitOptionOverride(command, "filter", parseJsonObjectOption(options.filter, "--filter"))
216
229
  });
217
230
  const context = await resolveContext({ workspaceId: options.workspaceId });
218
231
  printJson(await searchTracks(context, payload));
@@ -221,17 +234,15 @@ Example:
221
234
  Examples:
222
235
  epismo track search --type task --query "bug"
223
236
  epismo track search --type task --filter '{"status":["todo"]}'
224
- epismo track search --type note --view brief`);
237
+ epismo track search --type goal --view brief`);
225
238
  track
226
239
  .command("delete")
227
240
  .description("delete one track")
228
241
  .option("--input <input>", "JSON object, @file, or - for stdin")
229
- .addOption(new Option("--type <type>", "task | note | goal").choices(TRACK_TYPES))
230
242
  .option("--id <id>", "item id")
231
243
  .option(WORKSPACE_ID_OPT, WORKSPACE_ID_DESC)
232
244
  .action(async (options) => {
233
245
  const payload = await resolveInput(options, {
234
- type: options.type,
235
246
  id: options.id
236
247
  });
237
248
  const context = await resolveContext({ workspaceId: options.workspaceId });
@@ -239,13 +250,13 @@ Examples:
239
250
  });
240
251
  track.commands.at(-1)?.addHelpText("after", `
241
252
  Example:
242
- epismo track delete --type task --id <id>`);
253
+ epismo track delete --id <id>`);
243
254
  const asset = program.command("asset").description("manage asset resources");
244
255
  asset
245
256
  .command("upsert")
246
257
  .description("create or update an asset")
247
258
  .option("--input <input>", "JSON object, @file, or - for stdin")
248
- .addOption(new Option("--type <type>", "workflow").choices(ASSET_TYPES))
259
+ .addOption(new Option("--type <type>", "workflow | context").choices(ASSET_TYPES))
249
260
  .option("--id <id>", "existing asset id")
250
261
  .option("--title <title>", "title")
251
262
  .option("--content <content>", "markdown content")
@@ -253,6 +264,7 @@ Example:
253
264
  .addOption(new Option("--visibility <visibility>", "public | private").choices(ASSET_VISIBILITIES))
254
265
  .option("--projects <projects>", "JSON array or comma-separated project ids")
255
266
  .option("--workflow <workflow>", "workflow steps as JSON array (use --input @file.json for complex payloads)")
267
+ .option("--context <context>", "context blocks as JSON array (for type=context; use --input @file.json for complex payloads)")
256
268
  .option(WORKSPACE_ID_OPT, WORKSPACE_ID_DESC)
257
269
  .action(async (options) => {
258
270
  const payload = await resolveInput(options, {
@@ -263,7 +275,8 @@ Example:
263
275
  category: options.category,
264
276
  visibility: options.visibility,
265
277
  projects: parseStringArrayInput(options.projects, "--projects"),
266
- workflow: parseJsonArrayOption(options.workflow, "--workflow")
278
+ workflow: parseJsonArrayOption(options.workflow, "--workflow"),
279
+ blocks: parseJsonArrayOption(options.context, "--context")
267
280
  });
268
281
  const context = await resolveContext({ workspaceId: options.workspaceId });
269
282
  printJson(await upsertAsset(context, payload));
@@ -271,44 +284,52 @@ Example:
271
284
  asset.commands.at(-1)?.addHelpText("after", `
272
285
  Examples:
273
286
  epismo asset upsert --type workflow --title "My workflow" --input @workflow.json
274
- epismo asset upsert --type workflow --title "My workflow" --workflow '[{"kind":"prompt"}]'`);
287
+ epismo asset upsert --type workflow --title "My workflow" --workflow '[{"title":"Step 1","content":"..."}]'
288
+ epismo asset upsert --type context --title "My context" --input @context.json
289
+ epismo asset upsert --type context --title "My context" --context '[{"title":"Block 1","content":"..."}]'`);
275
290
  asset
276
291
  .command("get")
277
292
  .description("fetch one asset")
278
293
  .option("--input <input>", "JSON object, @file, or - for stdin")
279
- .addOption(new Option("--type <type>", "workflow").choices(ASSET_TYPES))
280
294
  .option("--id <id>", "asset id")
295
+ .addOption(new Option("--alias <alias>", "asset alias (`alias` or `@handle/alias`)").conflicts("id"))
296
+ .option("--block-id <blockId>", "context block id to extract (type=context only)")
281
297
  .option(WORKSPACE_ID_OPT, WORKSPACE_ID_DESC)
282
298
  .action(async (options) => {
283
299
  const payload = await resolveInput(options, {
284
- type: options.type,
285
- id: options.id
300
+ id: options.id,
301
+ alias: options.alias
286
302
  });
287
303
  const context = await resolveContext({ workspaceId: options.workspaceId });
288
- printJson(await getAsset(context, payload));
304
+ printJson(await getAsset(context, payload, options.blockId));
289
305
  });
290
306
  asset.commands.at(-1)?.addHelpText("after", `
291
- Example:
292
- epismo asset get --type workflow --id <id>`);
307
+ Examples:
308
+ epismo asset get --id <id>
309
+ epismo asset get --alias myproject
310
+ epismo asset get --alias @epismo/myproject
311
+ epismo asset get --id <id> --block-id b001`);
293
312
  asset
294
313
  .command("search")
295
314
  .description("search assets")
296
315
  .option("--input <input>", "JSON object, @file, or - for stdin")
297
- .addOption(new Option("--type <type>", "workflow").choices(ASSET_TYPES))
316
+ .addOption(new Option("--type <type>", "workflow | context").choices(ASSET_TYPES))
298
317
  .option("--query <query>", "free-text query")
299
318
  .option("--page <page>", "1-based page number")
300
- .addOption(new Option("--view <view>", "brief (id and title only) | detail (full records excluding nested item content)").choices(SEARCH_VIEWS).default("brief"))
319
+ .addOption(new Option("--view <view>", "brief (id and title only) | detail (full records excluding nested item content)")
320
+ .choices(SEARCH_VIEWS)
321
+ .default("brief"))
301
322
  .option("--projects <projects>", "JSON array or comma-separated project ids")
302
323
  .option("--filter <filter>", 'filter as JSON object; each value is an array of accepted values e.g. \'{"visibility":["public"]}\' (use --input @file.json for complex filters)')
303
324
  .option(WORKSPACE_ID_OPT, WORKSPACE_ID_DESC)
304
- .action(async (options) => {
325
+ .action(async (options, command) => {
305
326
  const payload = await resolveInput(options, {
306
- type: options.type,
307
- query: options.query,
308
- page: parseOptionalPositiveInteger(options.page, "--page"),
309
- view: options.view,
310
- projects: parseStringArrayInput(options.projects, "--projects"),
311
- filter: parseJsonObjectOption(options.filter, "--filter")
327
+ type: getExplicitOptionOverride(command, "type", options.type),
328
+ query: getExplicitOptionOverride(command, "query", options.query),
329
+ page: getExplicitOptionOverride(command, "page", parseOptionalPositiveInteger(options.page, "--page")),
330
+ view: getExplicitOptionOverride(command, "view", options.view),
331
+ projects: getExplicitOptionOverride(command, "projects", parseStringArrayInput(options.projects, "--projects")),
332
+ filter: getExplicitOptionOverride(command, "filter", parseJsonObjectOption(options.filter, "--filter"))
312
333
  });
313
334
  const context = await resolveContext({ workspaceId: options.workspaceId });
314
335
  printJson(await searchAssets(context, payload));
@@ -317,19 +338,18 @@ Example:
317
338
  Examples:
318
339
  epismo asset search --type workflow --query "onboarding"
319
340
  epismo asset search --type workflow --filter '{"visibility":["public"]}'
320
- epismo asset search --type workflow --view brief`);
341
+ epismo asset search --type workflow --view brief
342
+ epismo asset search --type context --query "meeting notes"`);
321
343
  asset
322
344
  .command("like")
323
345
  .description("like or unlike an asset")
324
346
  .option("--input <input>", "JSON object, @file, or - for stdin")
325
- .addOption(new Option("--type <type>", "workflow").choices(ASSET_TYPES))
326
347
  .option("--id <id>", "asset id")
327
348
  .option("--liked", "mark as liked")
328
349
  .option("--no-liked", "remove like")
329
350
  .option(WORKSPACE_ID_OPT, WORKSPACE_ID_DESC)
330
351
  .action(async (options) => {
331
352
  const payload = await resolveInput(options, {
332
- type: options.type,
333
353
  id: options.id,
334
354
  liked: options.liked
335
355
  });
@@ -345,48 +365,24 @@ Examples:
345
365
  });
346
366
  asset.commands.at(-1)?.addHelpText("after", `
347
367
  Examples:
348
- epismo asset like --type workflow --id <id> --liked
349
- epismo asset like --type workflow --id <id> --no-liked`);
350
- asset
351
- .command("import")
352
- .description("import assets into a project")
353
- .option("--input <input>", "JSON object, @file, or - for stdin")
354
- .option("--project-id <projectId>", "target project id")
355
- .option("--asset-ids <assetIds>", "JSON array or comma-separated asset ids")
356
- .option(WORKSPACE_ID_OPT, WORKSPACE_ID_DESC)
357
- .action(async (options) => {
358
- const payload = await resolveInput(options, {
359
- projectId: options.projectId,
360
- assetIds: parseStringArrayInput(options.assetIds, "--asset-ids")
361
- });
362
- const context = await resolveContext({ workspaceId: options.workspaceId });
363
- printJson(await importAssets(context, payload));
364
- });
365
- asset.commands.at(-1)?.addHelpText("after", `
366
- Notes:
367
- --project-id and --asset-ids are required unless provided via --input.
368
-
369
- Examples:
370
- epismo asset import --project-id <project-id> --asset-ids <id1>,<id2>
371
- epismo asset import --input '{"projectId":"p1","assetIds":["a1","a2"]}'`);
368
+ epismo asset like --id <id> --liked
369
+ epismo asset like --id <id> --no-liked`);
372
370
  asset
373
371
  .command("delete")
374
- .description("delete one asset")
372
+ .description("delete one asset and any of your aliases that point to it")
375
373
  .option("--input <input>", "JSON object, @file, or - for stdin")
376
- .addOption(new Option("--type <type>", "workflow").choices(ASSET_TYPES))
377
374
  .option("--id <id>", "asset id")
378
375
  .option(WORKSPACE_ID_OPT, WORKSPACE_ID_DESC)
379
376
  .action(async (options) => {
380
377
  const payload = await resolveInput(options, {
381
- type: options.type,
382
378
  id: options.id
383
379
  });
384
380
  const context = await resolveContext({ workspaceId: options.workspaceId });
385
381
  printJson(await deleteAsset(context, payload));
386
382
  });
387
383
  asset.commands.at(-1)?.addHelpText("after", `
388
- Example:
389
- epismo asset delete --type workflow --id <id>`);
384
+ Examples:
385
+ epismo asset delete --id <id> # also removes your aliases for that asset`);
390
386
  const credit = program.command("credit").description("view balance and purchase credits");
391
387
  credit
392
388
  .command("balance")
@@ -416,6 +412,72 @@ Examples:
416
412
  credit.commands.at(-1)?.addHelpText("after", `
417
413
  Example:
418
414
  epismo credit checkout --allocations '[{"userId":"u_1","quantity":10}]'`);
415
+ const alias = program.command("alias").description("manage aliases");
416
+ alias
417
+ .command("upsert")
418
+ .description("create or update one alias")
419
+ .option("--input <input>", "JSON object, @file, or - for stdin")
420
+ .addOption(new Option("--type <type>", "workflow | context").choices(ASSET_TYPES))
421
+ .option("--id <id>", "target asset id")
422
+ .option("--alias <alias>", "alias name")
423
+ .option(WORKSPACE_ID_OPT, WORKSPACE_ID_DESC)
424
+ .action(async (options) => {
425
+ const payload = await resolveInput(options, {
426
+ type: options.type,
427
+ id: options.id,
428
+ alias: options.alias
429
+ });
430
+ const context = await resolveContext({ workspaceId: options.workspaceId });
431
+ printJson(await upsertAlias(context, payload));
432
+ });
433
+ alias.commands.at(-1)?.addHelpText("after", `
434
+ Examples:
435
+ epismo alias upsert --type workflow --id <id> --alias myproject
436
+ epismo alias upsert --type context --id <id> --alias mycontext`);
437
+ alias
438
+ .command("get")
439
+ .description("resolve one alias")
440
+ .option("--input <input>", "JSON object, @file, or - for stdin")
441
+ .option("--alias <alias>", "alias reference (`alias` or `@handle/alias`)")
442
+ .option(WORKSPACE_ID_OPT, WORKSPACE_ID_DESC)
443
+ .action(async (options) => {
444
+ const payload = await resolveInput(options, {
445
+ alias: options.alias
446
+ });
447
+ const context = await resolveContext({ workspaceId: options.workspaceId });
448
+ printJson(await getAlias(context, payload));
449
+ });
450
+ alias.commands.at(-1)?.addHelpText("after", `
451
+ Examples:
452
+ epismo alias get --alias myproject
453
+ epismo alias get --alias @epismo/myproject`);
454
+ alias
455
+ .command("list")
456
+ .description("list your aliases")
457
+ .option(WORKSPACE_ID_OPT, WORKSPACE_ID_DESC)
458
+ .action(async (options) => {
459
+ const context = await resolveContext({ workspaceId: options.workspaceId });
460
+ printJson(await listAliases(context));
461
+ });
462
+ alias.commands.at(-1)?.addHelpText("after", `
463
+ Example:
464
+ epismo alias list`);
465
+ alias
466
+ .command("delete")
467
+ .description("delete one alias")
468
+ .option("--input <input>", "JSON object, @file, or - for stdin")
469
+ .option("--alias <alias>", "alias name")
470
+ .option(WORKSPACE_ID_OPT, WORKSPACE_ID_DESC)
471
+ .action(async (options) => {
472
+ const payload = await resolveInput(options, {
473
+ alias: options.alias
474
+ });
475
+ const context = await resolveContext({ workspaceId: options.workspaceId });
476
+ printJson(await deleteAlias(context, payload));
477
+ });
478
+ alias.commands.at(-1)?.addHelpText("after", `
479
+ Example:
480
+ epismo alias delete --alias myproject`);
419
481
  return program;
420
482
  }
421
483
  //# sourceMappingURL=program.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"program.js","sourceRoot":"","sources":["../src/program.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"program.js","sourceRoot":"","sources":["../src/program.ts"],"names":[],"mappings":"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"}
package/dist/tracks.js CHANGED
@@ -1,7 +1,7 @@
1
1
  import { requestJson, withWorkspaceQuery } from "./api.js";
2
2
  import { resolveApiUrl } from "./config.js";
3
3
  import { CliError } from "./errors.js";
4
- import { readTypeAndId, toObjectInput } from "./input.js";
4
+ import { readRequiredId, toObjectInput } from "./input.js";
5
5
  export function validateTrackUpsertPayload(payload) {
6
6
  const type = typeof payload.type === "string" ? payload.type : undefined;
7
7
  const hasTask = payload.task !== undefined;
@@ -21,12 +21,6 @@ export function validateTrackUpsertPayload(payload) {
21
21
  hint: `Add --type ${expected} to use the ${field} option.`
22
22
  });
23
23
  }
24
- if (type === "note" && (hasTask || hasGoal)) {
25
- throw new CliError({
26
- code: "INVALID_INPUT",
27
- message: 'type "note" does not accept --task or --goal.'
28
- });
29
- }
30
24
  if (type === "task" && hasGoal) {
31
25
  throw new CliError({
32
26
  code: "INVALID_INPUT",
@@ -50,8 +44,8 @@ export async function upsertTrack(context, input) {
50
44
  });
51
45
  }
52
46
  export async function getTrack(context, input) {
53
- const { type, id } = readTypeAndId(input, "Pass --type task|note|goal.");
54
- return requestJson(resolveApiUrl(), withWorkspaceQuery(`/v1/tracks/${encodeURIComponent(type)}/${encodeURIComponent(id)}`, context.workspaceId), {
47
+ const id = readRequiredId(input);
48
+ return requestJson(resolveApiUrl(), withWorkspaceQuery(`/v1/tracks/${encodeURIComponent(id)}`, context.workspaceId), {
55
49
  authToken: context.auth.accessToken
56
50
  });
57
51
  }
@@ -63,8 +57,8 @@ export async function searchTracks(context, input) {
63
57
  });
64
58
  }
65
59
  export async function deleteTrack(context, input) {
66
- const { type, id } = readTypeAndId(input, "Pass --type task|note|goal.");
67
- return requestJson(resolveApiUrl(), withWorkspaceQuery(`/v1/tracks/${encodeURIComponent(type)}/${encodeURIComponent(id)}`, context.workspaceId), {
60
+ const id = readRequiredId(input);
61
+ return requestJson(resolveApiUrl(), withWorkspaceQuery(`/v1/tracks/${encodeURIComponent(id)}`, context.workspaceId), {
68
62
  method: "DELETE",
69
63
  authToken: context.auth.accessToken
70
64
  });
@@ -1 +1 @@
1
- {"version":3,"file":"tracks.js","sourceRoot":"","sources":["../src/tracks.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tracks.js","sourceRoot":"","sources":["../src/tracks.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "epismo",
3
- "version": "0.1.3",
3
+ "version": "0.1.4",
4
4
  "type": "module",
5
5
  "bin": {
6
6
  "epismo": "dist/bin.js"