@jami-studio/pinpoint 0.1.12

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.
Files changed (47) hide show
  1. package/.agents/skills/pinpoint/SKILL.md +77 -0
  2. package/README.md +412 -0
  3. package/dist/agent-context-HBCZ4MBN.js +13 -0
  4. package/dist/agent-context-HBCZ4MBN.js.map +1 -0
  5. package/dist/chunk-B7TY4FPP.js +569 -0
  6. package/dist/chunk-B7TY4FPP.js.map +1 -0
  7. package/dist/chunk-CGJZ7BOM.js +88 -0
  8. package/dist/chunk-CGJZ7BOM.js.map +1 -0
  9. package/dist/chunk-DGUM43GV.js +11 -0
  10. package/dist/chunk-DGUM43GV.js.map +1 -0
  11. package/dist/chunk-HAEYE6KB.js +25 -0
  12. package/dist/chunk-HAEYE6KB.js.map +1 -0
  13. package/dist/chunk-J5PXKVTM.js +53 -0
  14. package/dist/chunk-J5PXKVTM.js.map +1 -0
  15. package/dist/chunk-XBX2J7WU.js +94 -0
  16. package/dist/chunk-XBX2J7WU.js.map +1 -0
  17. package/dist/chunk-ZW7IO3EW.js +4927 -0
  18. package/dist/chunk-ZW7IO3EW.js.map +1 -0
  19. package/dist/cli.js +71 -0
  20. package/dist/cli.js.map +1 -0
  21. package/dist/formatter-CR4COA5Z.js +8 -0
  22. package/dist/formatter-CR4COA5Z.js.map +1 -0
  23. package/dist/index-NvFcZ4SO.d.ts +200 -0
  24. package/dist/index.browser.d.ts +377 -0
  25. package/dist/index.browser.js +620 -0
  26. package/dist/index.browser.js.map +1 -0
  27. package/dist/index.js +936 -0
  28. package/dist/index.js.map +1 -0
  29. package/dist/open-file-WR2JHI4P.js +8 -0
  30. package/dist/open-file-WR2JHI4P.js.map +1 -0
  31. package/dist/primitives/index.js +28 -0
  32. package/dist/primitives/index.js.map +1 -0
  33. package/dist/react.d.ts +23 -0
  34. package/dist/react.js +20 -0
  35. package/dist/react.js.map +1 -0
  36. package/dist/server/index.js +457 -0
  37. package/dist/server/index.js.map +1 -0
  38. package/dist/types/index.js +1 -0
  39. package/dist/types/index.js.map +1 -0
  40. package/package.json +88 -0
  41. package/src/scripts/create-pin.ts +43 -0
  42. package/src/scripts/delete-pin.ts +16 -0
  43. package/src/scripts/get-pins.ts +36 -0
  44. package/src/scripts/list-sessions.ts +33 -0
  45. package/src/scripts/resolve-pin.ts +27 -0
  46. package/src/scripts/run.ts +8 -0
  47. package/src/scripts/update-pin.ts +32 -0
@@ -0,0 +1,36 @@
1
+ // @agent-native/pinpoint — List/filter annotations script
2
+ // MIT License
3
+
4
+ import { parseArgs } from "@agent-native/core/scripts";
5
+
6
+ import { FileStore } from "../storage/file-store.js";
7
+ import type { PinStatus } from "../types/index.js";
8
+
9
+ export default async function (args: string[]) {
10
+ const { pageUrl, status } = parseArgs(args) as {
11
+ pageUrl?: string;
12
+ status?: PinStatus;
13
+ };
14
+
15
+ const store = new FileStore();
16
+ const pins = await store.list({ pageUrl, status });
17
+
18
+ if (pins.length === 0) {
19
+ console.log("No annotations found.");
20
+ return;
21
+ }
22
+
23
+ console.log(`Found ${pins.length} annotation(s):\n`);
24
+
25
+ for (let i = 0; i < pins.length; i++) {
26
+ const pin = pins[i];
27
+ console.log(`${i + 1}. [${pin.status.state}] ${pin.element.selector}`);
28
+ console.log(` Comment: ${pin.comment}`);
29
+ if (pin.author) console.log(` Author: ${pin.author}`);
30
+ if (pin.framework?.sourceFile)
31
+ console.log(` Source: ${pin.framework.sourceFile}`);
32
+ console.log(` Page: ${pin.pageUrl}`);
33
+ console.log(` ID: ${pin.id}`);
34
+ console.log();
35
+ }
36
+ }
@@ -0,0 +1,33 @@
1
+ // @agent-native/pinpoint — List annotation sessions by page URL
2
+ // MIT License
3
+
4
+ import { FileStore } from "../storage/file-store.js";
5
+
6
+ export default async function (_args: string[]) {
7
+ const store = new FileStore();
8
+ const pins = await store.list();
9
+
10
+ // Group by page URL
11
+ const sessions = new Map<string, { count: number; latest: string }>();
12
+ for (const pin of pins) {
13
+ const existing = sessions.get(pin.pageUrl);
14
+ if (!existing || pin.updatedAt > existing.latest) {
15
+ sessions.set(pin.pageUrl, {
16
+ count: (existing?.count ?? 0) + 1,
17
+ latest: pin.updatedAt,
18
+ });
19
+ } else {
20
+ existing.count++;
21
+ }
22
+ }
23
+
24
+ if (sessions.size === 0) {
25
+ console.log("No annotation sessions found.");
26
+ return;
27
+ }
28
+
29
+ console.log(`${sessions.size} page(s) with annotations:\n`);
30
+ for (const [url, info] of sessions) {
31
+ console.log(` ${url} — ${info.count} pin(s), last updated ${info.latest}`);
32
+ }
33
+ }
@@ -0,0 +1,27 @@
1
+ // @agent-native/pinpoint — Resolve annotation script
2
+ // MIT License
3
+
4
+ import { parseArgs, fail } from "@agent-native/core/scripts";
5
+
6
+ import { FileStore } from "../storage/file-store.js";
7
+
8
+ export default async function (args: string[]) {
9
+ const { id, message } = parseArgs(args) as {
10
+ id?: string;
11
+ message?: string;
12
+ };
13
+
14
+ if (!id) fail("--id is required");
15
+
16
+ const store = new FileStore();
17
+ await store.update(id!, {
18
+ status: {
19
+ state: "resolved",
20
+ changedAt: new Date().toISOString(),
21
+ changedBy: "agent",
22
+ },
23
+ ...(message ? { comment: message } : {}),
24
+ });
25
+
26
+ console.log(`Resolved annotation ${id}`);
27
+ }
@@ -0,0 +1,8 @@
1
+ // @agent-native/pinpoint — Script dispatcher
2
+ // MIT License
3
+ //
4
+ // Required entry point for agent scripts. Routes to specific script modules.
5
+
6
+ import { runScript } from "@agent-native/core/scripts";
7
+
8
+ runScript();
@@ -0,0 +1,32 @@
1
+ // @agent-native/pinpoint — Update annotation script
2
+ // MIT License
3
+
4
+ import { parseArgs, fail } from "@agent-native/core/scripts";
5
+
6
+ import { FileStore } from "../storage/file-store.js";
7
+
8
+ export default async function (args: string[]) {
9
+ const { id, comment, status } = parseArgs(args) as {
10
+ id?: string;
11
+ comment?: string;
12
+ status?: string;
13
+ };
14
+
15
+ if (!id) fail("--id is required");
16
+ if (!comment && !status) fail("--comment or --status is required");
17
+
18
+ const store = new FileStore();
19
+ const patch: Record<string, any> = {};
20
+
21
+ if (comment) patch.comment = comment;
22
+ if (status) {
23
+ patch.status = {
24
+ state: status,
25
+ changedAt: new Date().toISOString(),
26
+ changedBy: "agent",
27
+ };
28
+ }
29
+
30
+ await store.update(id!, patch);
31
+ console.log(`Updated annotation ${id}`);
32
+ }